python 求一个矩阵的距离矩阵的方法:
生活随笔
收集整理的這篇文章主要介紹了
python 求一个矩阵的距离矩阵的方法:
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
例:有行向量矩陣Matrix,維度為(n行,d特征長)。我們要求個點之間的距離并構成一個(n,n)距離矩陣,方法如下:
主要用到:
np.square(),
np.add(a,b), #若b為行向量,將b加到前面的每一行上;若b為列向量,將b加到前面的每一列上
np.sum(a,1) #1:按列加,0:按行加
我們有
(a - b)^2 = a^2 + b^2 - 2*a*b;
import numpy as npdef calculate_dis(x):sum_x = np.sum(np.square(x),1)#先求對應元素的平方,然后按列相加,得到(n,1)列向量dist = np.add(np.add(-2*np.dot(x,x.T),sum_x),sum_x.T)#np.dot()函數是向量的點乘,np.add()函數是將sum_x的轉置行向量依次加到前面的(n,n)向量的每一行上。按行加 或dist = np.add(np.add(-2*np.dot(x,x.T),sum_x).T,sum_x)#np.dot()函數是向量的點乘,np.add()函數是將sum_x列向量依次加到前面的(n,n)向量的每一列上。按列加return dist舉個例子:
?
總結
以上是生活随笔為你收集整理的python 求一个矩阵的距离矩阵的方法:的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python常见的文件操作:打开、创建等
- 下一篇: Python生成随机数总结