假设有一个数据矩阵(MATLAB
(
X = [0.8147, 0.9134, 0.2785, 0.9649, 0.9572;
0.9058, 0.6324, 0.5469, 0.1576, 0.4854;
0.1270, 0.0975, 0.9575, 0.9706, 0.8003]
每列代表样本的特征向量。MATLAB
中X
中获得成对助攻相似性度量的最快方法是什么?例如,我们要计算对称S
是5X5
矩阵,S(3,4)
中的元素是第三列和第四列之间的插图。
注释:助理测量cos(a,b)
是指向量a
和b
之间的角度。
如果您具有统计工具箱,请与'cosine'
选项一起使用pdist
,然后使用squareform
。请注意:
-
pdist
考虑行,而不是列,作为观察。因此您需要转换输入。 - 输出为1减去余弦相似性。因此,您需要从1。 中减去结果
- 要以对称矩阵的形式获得结果,请应用
squareform
。
所以,您可以使用
S = 1 - squareform(pdist(X.', 'cosine'));