余弦相似度#

sklearn.metrics.pairwise.cosine_similarity(X, Y=None, dense_output=True)[source]#

计算 X 和 Y 中样本之间的余弦相似度。

余弦相似度,或余弦核,计算相似度为 X 和 Y 的归一化点积。

K(X, Y) = <X, Y> / (||X||*||Y||)

在 L2 归一化数据上,此函数等效于 linear_kernel。

阅读更多内容,请参见 用户指南

参数:
X{array-like, sparse matrix} of shape (n_samples_X, n_features)

输入数据。

Y{数组类, 稀疏矩阵} 形状为 (n_samples_Y, n_features),默认值=None

输入数据。如果为 None,则输出将是 X 中所有样本之间的成对相似度。

dense_output布尔值, 默认值=True

即使输入是稀疏的,是否返回稠密输出。如果为 False,则如果两个输入数组都是稀疏的,则输出为稀疏的。

版本 0.17 中新增: 参数 dense_output 用于稠密输出。

返回:
similarities形状为 (n_samples_X, n_samples_Y) 的 ndarray 或稀疏矩阵

返回 X 和 Y 中样本之间的余弦相似度。

示例

>>> from sklearn.metrics.pairwise import cosine_similarity
>>> X = [[0, 0, 0], [1, 1, 1]]
>>> Y = [[1, 0, 0], [1, 1, 0]]
>>> cosine_similarity(X, Y)
array([[0.     , 0.     ],
       [0.57..., 0.81...]])