余弦相似度

2021-09-03 02:31:54 字數 1212 閱讀 2426

余弦距離,也稱為余弦相似度,是用向量空間中兩個向量夾角的余弦值作為衡量兩個個體間差異的大小的度量。相比距離度量,余弦相似度更加注重兩個向量在方向上的差異,而非距離或長度上。公式如下:

python實現如下:

import numpy as np

from scipy.spatial.distance import pdist

x = np.random.random(10)

y = np.random.random(10)

# solution1

dist1 = 1 - np.dot(x, y) / (np.linalg.norm(x) * np.linalg.norm(y))

# solution2

dist2 = pdist(np.vstack([x, y]), 'cosine')

print 'x:', x

print 'y:', y

print 'dist1:', dist1

print 'dist2:', dist2

執行結果:

x: [0.31692419 0.65676435 0.10553602 0.38527502 0.36540103 0.05386293

0.16735064 0.42934357 0.10090642 0.46733849]

y: [0.14075869 0.92933422 0.86694432 0.27997157 0.05401143 0.99179267

0.16541577 0.04084531 0.10778251 0.29086463]

dist1: 0.408687947379

dist2: [0.40868795]

相似度度量(similarity),即計算個體間的相似程度,與距離度量相反,相似度度量的值越小,說明個體間相似度越小,差異越大。

比如:當兩條新聞向量夾角余弦等於1時,這兩條新聞完全重複(用這個辦法可以刪除爬蟲所收集網頁中的重複網頁);當夾角的余弦值接近於1時,兩條新聞相似(可以用作文字分類);夾角的余弦越小,兩條新聞越不相關。

余弦相似度

余弦距離 歐氏距離和傑卡德相似性度量的對比分析 1 余弦距離 余弦距離,也稱為余弦相似度,是用向量空間中兩個向量夾角的余弦值作為衡量兩個個體間差異的大小的度量。向量,是多維空間中有方向的線段,如果兩個向量的方向一致,即夾角接近零,那麼這兩個向量就相近。而要確定兩個向量方向是否一致,這就要用到餘弦定理...

余弦相似度

基於餘弦定理計算相似度的應用很多,比如推薦系統中的協同過濾,計算文字的相似性等等。它用計算兩者空間向量的夾角來表示兩者的相似性。先看一下餘弦定理的公式 wu v u ivi u2i v 2i 上訴公式表示uv兩者的相似度,ui表示u在i緯度的數值。在使用者行為資料 使用者只有操作和未操作兩種狀態,也...

余弦相似度及基於python的余弦相似度實現

余弦相似度,又稱為余弦相似性,是通過計算兩個向量的夾角余弦值來評估他們的相似度。對於兩個向量,可以想象成空間中的兩條線段,都是從原點 0,0,出發,指向不同的方向。兩條線段之間形成乙個夾角 如果夾角為0度,則意味著方向相同 線段重合 如果夾角為90度,意味著形成直角,方向完全不相似 如果夾角為180...