matlab简单实现余弦相似度计算

S2 = squareform(1-pdist(S1,‘cosine’)) + eye(size(S1,1));

解释:
pdist(S1,‘cosine’)计算S1中所有行组合之间的余弦距离。因此,所有组合之间的相似性为1 - pdist(S1,‘cosine’)。

我们可以将其转换为一个方阵,其中元素(i,j)对应于第i行和第j行之间的相似性,使用squareform(1-pdist(S1,'cos '))。

最后我们要把主对角线设为1因为一行本身的相似度显然是1但它不能通过pdist明确计算出来的。

你可能感兴趣的:(matlab,数据挖掘,机器学习)