weixin_38355134 2022-09-30 09:52 采纳率: 33.3%
浏览 65
已结题

作用numpy下cdist怎么计算加权欧式距离?

想计算点对间的加权欧式距离,请问有什么好的办法么? 目前用的是numoy下的cdist,但好像没有什么好的办法进行加权

  • 写回答

4条回答 默认 最新

  • Elwin Wong 2022-09-30 11:34
    关注
    获得3.00元问题酬金

    这个自己实现也是比较方便简单的

    x = np.array([9,3,7])
    y = np.array([4,6,5])
    w = np.random.rand(3)
    res = np.sqrt(np.sum(((x-y)*w)**2))
    
    评论
  • _GX_ 2022-09-30 13:14
    关注
    获得4.50元问题酬金

    cdist的第三个参数metric可以是一个字符串表示已知的距离计算公式,或者是你自己实现的距离计算公式的函数或对象。

    https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.cdist.html
    比如下面例子

    dm = cdist(XA, XB, lambda u, v: np.sqrt(((u-v)**2).sum()))
    
    评论 编辑记录
  • 东方佑 2022-10-04 08:51
    关注
    • 代表按照位置相乘 @ 代表矩阵乘法 学会这个你就会了
    评论

报告相同问题?

问题事件

  • 系统已结题 10月8日
  • 创建了问题 9月30日

悬赏问题

  • ¥15 如何利用闲置机械硬盘变现
  • ¥15 信号处理中的凸优化问题
  • ¥15 arm虚拟机无法和物理机互通
  • ¥15 如何在此代码上增加一个统计学生生源的功能?(语言-c语言)
  • ¥15 Android导航条遮盖异常
  • ¥15 计算机网络技术基础问题
  • ¥15 设置mac系统只能访问指定网站
  • ¥15 西门子博途 s7 1200控制三台步进电机
  • ¥15 基于非参数的方向距离函数求污染物影子价格(有偿)
  • ¥15 vue+element 生成table