추천시스템(3)
-
[python] 추천시스템 - surprise
Ver. Jupyter Notebook (Anaconda3) ▶ surprise 패키지 - surpriselib.com - 쉽게 사용 가능 - Visual studio build tools 설치 되어 있어야 함 - 설치: cmd > pip install scikit-surprise ● 추천 수행 프로세스 - 데이터 로딩 · 데이터 컬럼 (무조건 userid, itemid, rating 순서로 데이터 정렬) · DataFrame에서 데이터 로딩 - 모델 설정 및 학습 · 추천 Algorithm 설정 (SVD, KNNBasic 등) · Train 데이터로 학습 (train() 메소드) - 예측 및 평가 · 예측 (test(): 전체 데이터 / predict(): 한개의 데이터) · 평가 (accuracy.r..
2021.05.22 -
[python] 추천시스템 - CF - MF(Matrix Factorization, 행렬 분해)
Ver. Jupyter Notebook (Anaconda3) ▶ 추천시스템 - CF - MF(Matrix Factorization, 행렬 분해) ● 잠재 요인 협업 필터링 - 사용자, 아이템 평점 행렬 속에 숨어있는 잠재 요인을 추출하여 예측 할 수 있는 기법 - SVD와 비슷한 개념이지만 다름 (SVD는 추천시스템에 사용하지 못함) - KNN 방식보다 정확함 - 넷플릭스에서 사용함 - 요약: 가진 데이터로 없는 데이터를 유추 # 임의의 3, 4 행렬 R = np.array([[4, 2, np.NaN, 2,], [np.NaN, 5, 4, np.NaN,], [1, np.NaN, 3, 4,]]) # K = 3으로 학습 num_users, num_items = R.shape K=3 # 잠재 요인은 3개 pri..
2021.05.21 -
[python] 추천 시스템
Ver. Jupyter Notebook (Anaconda3) ▶ 추천 시스템 종류 ● CBF (Content-based Filtering) ex) 영화 : 장르, 감독, 출연배우, 키워드 # 넷프릭스 ● CF (Collaborative Filtering) - KNN (K-nearest Neighbors) · 아이템 기반 # 아마존 (사용자 기반보다 좀더 정확하다고 함) · 사용자 기반 # 왓챠 - MF (Matrix Factorization) # 넷플릭스 ▶ 유사도를 측정하는 방법 ● 거리 기반 ● 각도 기반 - 코사인 유사도 (가장 많이 사용) - 자카드 유사도 - 피어슨 유사도
2021.05.18