我有两个向量,想要找到它们之间的相关性。
方法#1:我可以基于here使用Python numpy.corrcoef(a, b)
。
我想知道如何实现它。
方法2:我尝试使用here所述的点函数来实现它。但是,值不相同。
示例:
a = [1,4,6]
b = [1,2,3]
方法1:
np.corrcoef(a, b)[0][1]
结果是:0.99339927
方法2:
np.dot(a, b) / math.sqrt(np.dot(a, a) * np.dot(b, b))
其结果是:0.9912011825893757
答案 0 :(得分:2)
const string = 'add "first item" and subtract "third course", disregard "the final power".';
const quotes = string.match(/\"(.*?)\"/g).map(e => e.split("\"")[1]);
console.log(quotes);
根据the manual返回Pearson相关系数。
因此,我们应该首先减去样本均值来归一化每个向量:
numpy.corrcoef
产生a = np.array([1,4,6])
b = np.array([1,2,3])
a = a - np.mean(a)
b = b - np.mean(b)
np.dot(a, b) / math.sqrt(np.dot(a, a) * np.dot(b, b))
。