餘弦相似度#

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

計算 X 和 Y 中樣本之間的餘弦相似度。

餘弦相似度,或餘弦核,將相似度計算為 X 和 Y 的正規化點積

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

在 L2 正規化的資料上,此函數等同於 linear_kernel。

請參閱使用者指南以取得更多資訊。

參數
X{類陣列 (array-like), 稀疏矩陣 (sparse matrix)},形狀為 (n_samples_X, n_features)

輸入資料。

Y{類陣列 (array-like), 稀疏矩陣 (sparse matrix)},形狀為 (n_samples_Y, n_features),預設為 None

輸入資料。如果為 None,則輸出將會是 X 中所有樣本之間的成對相似度。

dense_outputbool,預設為 True

即使輸入為稀疏矩陣,是否仍返回密集輸出。如果為 False,則當兩個輸入陣列皆為稀疏矩陣時,輸出為稀疏矩陣。

於 0.17 版本新增:為密集輸出新增 dense_output 參數。

回傳值
similaritiesndarray 或形狀為 (n_samples_X, n_samples_Y) 的稀疏矩陣

返回 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...]])