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:

https://wikidocs.net/24603

 

728x90

+ Recent posts