목록Machine Learning/Recommender system (6)
Note
Surprise는 추천 시스템 구현 패키지이다. 설치방법 1) pip install scikit-surprise 2) conda install -c conda-forge scikit-surprise ( Anaconda 환경 추천 ) random_pred.NormalPredictor 학습 데이터의 분포가 정규분포라고 가정한 상태에서 평점을 무작위로 추출하는 알고리즘 baseline_only.BaselineOnly 사용자의 평점평균과 아이템의 평점평균을 모델화하여 예측하는 알고리즘 knns.KNNBasic 기본적인 이웃을 고려한 CF 알고리즘 knns.KNNWithMeans 사용자의 평가 성향을 고려한 CF 알고리즘 knns.KNNWithZScore 사용자의 평가 성향을 표준화시킨 CF 알고리즘 knns.K..
협업 필터링의 유형은 최근접 이웃 기반은 크게 사용자 기반과 아이템 기반으로 나뉜다. 최근접 이웃 기반 사용자 기반 특정 사용자와 비슷한 고객들을 기반으로 비슷한 고객들이 선호하는 또 다른 상품을 추천한다. 특정 사용자와 비슷한 상품을 구매해온 고객들은 비슷한 부류의 고객으로 간주한다. 예시) 비슷한 고객들이 구매한 상품 목록 아이템 기반 특정 상품과 유사한 좋은 평가를 받은 비슷한 상품을 추천한다. 사용자들에게 특정 상품과 비슷한 평가를 받은 품목들은 비슷한 상품으로 간주한다. 예시) 상품을 구매한 다른 고객들이 구매한 다른 상품 목록 일반적으로 사용자 기반보다는 아이템 기반이 더 사용된다. 같은 상품을 구매한 사람을 유사한 사람으로 판단하기 어렵기 때문이다. CF 구현 순서 아이템 - 사용자 행렬 데..

1. FP - Growth 알고리즘이란? Apriori 알고리즘의 속도 측면 단점을 개선한 알고리즘이다. Apriori 알고리즘과 비슷한 속도를 내지만 FP Tree 구조를 사용해 빠른 속도를 가진다. 단점으로는 동일하게 발생하는 아이템 집합을 찾는 데는 유용하지만 연관성을 찾기는 어렵고 또한, 설계가 어려운 단점이 있다. 2. 원리 1) 모든 거래를 확인하여 , 각 아이템의 지지도를 계산하고 최소 지지도 이상 해당하는 아이템만 선택한다. 2) 전체 거래에서 빈도가 높은 순으로 정렬한다. 3) 부모 노드 중심으로 자식 노드를 추가해가면서 tree를 생성한다. 4) 새로운 아이템이 발생하면 부모 노드부터 시작하고, 그렇지 않으면 기존 노드에서 확장한다. 5) 모든 거래에 대해 반복하고 tree 생성 후에 ..

1. 알고리즘의 원리 자주 구매하는 아이템 셋의 하위 아이템 셋 또한 자주 구매될 것이다. 즉, 이를 통해 자주 구매되지 않은 아이템 셋은 하위 아이템셋 또한 자주 구매되지 않는다를 통해 규칙의 수를 줄이는 방법이다. 2. 알고리즘 진행 순서 ( * mlxtend는 !pip install mlxtend를 통해 설치해야 한다. ) 필요한 라이브러리를 임포트하고 데이터 셋을 생성한다. TransactionEncoder()를 통해 spars matrix 형태로 변경해준다. 항목집단에서 최소 지지도 0.5 이상인 값들만 뽑아준다. 추가로 association_rule을 사용해서 특정 성능 이상의 값들만 출력할 수 있다. 아래는 아이템 셋에서 향상도를 바탕으로 최소 값이 1 이상인 상품 셋을 보여준다. ( Oni..

1. 연관분석 연관분석이란 말 그대로 데이터 안에서 어떠한 연관을 가지고 있는지 찾아내는 것이다. 크게 두 가지로 정의할 수 있습니다. 첫 번째, 얼마나 같이 구매되는가? 두 번째, 한 아이템을 구매하는 사람이 특정 아이템을 구매하는가? 이와 같은 규칙을 찾아내는 것이 연관분석이며, 장바구니 분석이라고도 한다. 2. 연관분석 평가 지표 support (지지도) 항목 A의 전체 거래 건수 중에 모두를 포함하는 거래 건수의 비율. = 항목 A를 모두 포함하는 거래 수 / 전체 거래수 confidence (신뢰도) 항목 A를 포함하는 거래 중에서 B도 포함하는 거래 비율. = A와 B를 모두 포함하는 거래 수 / A가 포함된 거래 수 (조건부 확률) 신뢰도가 높을수록 유용한 규칙일 가능성이 높다. lift (..