728x90
1. 자카드 유사도(Jaccard similarity)
정의: 교집합 / 합집합
- '유무'만 따짐: set
- '유'인 것들 사이의 rating value를 비교하지 않음
2. 코사인 유사도(Cosine similarity)
- '유'인 것들 사이의 rating value를 비교함: points
정의:
import numpy as np
from numpy import dot
from numpy.linalg import norm
def cos_sim(A, B):
return dot(A, B)/(norm(A)*norm(B))
doc1 = np.array([0,1,1,1])
doc2 = np.array([1,0,1,1])
doc3 = np.array([2,0,2,2])
print('문서 1과 문서2의 유사도 :',cos_sim(doc1, doc2))
print('문서 1과 문서3의 유사도 :',cos_sim(doc1, doc3))
print('문서 2와 문서3의 유사도 :',cos_sim(doc2, doc3))
- 결측치를 'negative'한 값으로 취급함
- recommendation system에 바로 적용하는 데 한계가 있음
3. 피어슨 상관계수 (Pearson correlation coefficient)
- 정의: 각 값을 '평균과의 차이', 즉 '편차'로 변환한 후, 코사인 유사도를 계산함
- 없는 정보(결측치)를 예측하는 경우(ex. recommendation)에 유용함
Reference:
728x90