추천시스템 종류
연관 분석(장바구니 분석)이란?
상품 간 연관 찾기
1. Frequent
- 상품 A와 B가 얼마나 같이 구매되는가?
2. A & B
- 상품 A를 구매하는 사람이 B도 구매하는가?
예시
- 월마트의 맥주-기저귀 진열
연관 분석의 평가 지표 : Support, Confidence, Lift
1. 지지도(Support) (=교집합)
- 정의 : 전체 거래(N) 중 item A와 B를 동시에 포함하는 거래 비율. S(A->B)
- 해석 : 지지도가 높을수록 item A와 B를 함께 구매할 가능성이 높다.
- 사용 : 빈발 아이템 집합(frequent item sets)을 찾거나 불필요한 연산을 줄일 때(pruning) 사용
2. 신뢰도(Confidence) (=조건부 확률)
- 정의 : item A를 포함하는 거래 중 item B가 포함된 거래 비율. C(A->B)
- 해석 : 신뢰도가 높을 수록 item A를 구매하였을 때, item B가 추가로 구매될 가능성이 높다.
- 사용 : 아이템 집합 간 연관성 강도를 측정할 때 사용신뢰도의 의미는 특별한 기준을 잡기 위해서이다. 예를 들어, 50%이상 신뢰도만 의미가 있다면오징어를 제외한 치즈, 소주, 라면, 사이다, 콜라는 무의미한 데이터가 된다.
3. 향상도(Lift)
- 정의 : A가 주어지지 않았을 때 B의 확률 대비 A가 주어졌을 때 B의 확률 증가 비율
- 해석 : 향상도가 1보다 크거나(+관계) 작다면(-관계) 우연적 기회(random chance)보다 우수하다.
(X와 Y가 서로 독립이면 향상도가 1이다)
- 사용 : 생성된 규칙이 실제 효용가치가 있는지 판별할 때 사용. 이 기준은 보조적으로 사용된다.
예시 1
문제1. 다음 거래 데이터에 대해 물음에 답하시오.
1. 맥주와 기저귀의 지지도와 사과와 배추의 기저귀의 지지도를 구하고 이를 해석하시오.
- 맥주와 기저귀를 같이 구입한 횟수는 3회 / 전체 거래 수 5회
-> 맥주-기저귀 지지도는 3/5
- 사과와 배추를 같이 구입한 횟수는 2회 / 전체 거래 수 5회
-> 사과-배추 지지도는 2/5
- 해석 : 맥주-기저귀가 사과-배추보다 더 자주 같이 나타난다. 맥주-기저귀는 진열대에 같이 진열하면 매출이 오를 가능성이 크다.
2. 맥주에 대한 다른 상품들의 신뢰도를 구하고 이를 해석하시오.
- 맥주-기저귀 같이 구입한 횟수는 3회 / 맥주 거래 수 4회 = 맥주-기저귀 신뢰도는 3/4 = 0.75
- 맥주-사과 같이 구입한 횟수는 2회 / 맥주 거래 수 4회 = 맥주-사과 신뢰도는 2/4 = 0.5
- 맥주-배추 같이 구입한 횟수는 2회 / 맥주 거래 수 4회 = 맥주-배추 신뢰도는 2/4 = 0.5
- 해석 : 맥주 기준으로 맥주와 기저귀는 자주 같이 나타난다. 맥주 옆에는 기저귀를 함께 진열하는 게 가장 매출이 오를 가능성이 크다.
3. 맥주와 사과의 향상도와 맥주와 배추의 향상도를 구하고 이를 해석하시오.
- 맥주-사과 신뢰도는 2/4 / 사과 거래 비중은 2/5 = 맥주-사과 향상도는 (2/4) / (2/5) = 1.25
- 맥주-배추 신뢰도는 2/4 / 배추 거래 비중은 3/5 = 맥주-배추 향상도는 (2/4) / (3/5) = 0.83
- 해석 : 1.25 > 0.83. 맥주-사과가 맥주-배추보다 향상도가 높다.
사과가 거래되는 이유는 맥주 때문일 가능성이 높다.
예시 2
문제2. 연관 규칙 (계란, 맥주) -> (기저귀)에 대해지지도, 신뢰도, 향상도는?
문제3. 다음은 장바구니 데이터를 이진 형식으로 표현한 것이다.
{Milk, Diapers} → {Beer}에 대한 지지도, 신뢰도, 향상도는?
연관 분석 평가지표의 해석
- 지지도, 신뢰도, 향상도 지표들을 가지고 기계적으로 연관 규칙을 찾았다고 해서 끝나는 것은 아닙니다.반드시 업 전문가(business domain expert)의 해석, 평가, 판단, 개입이 있어야지 연관규칙분석이 끝납니다.
- 신뢰도는 A거래 수에 의존하기 때문에 전체적인 분석이 어렵습니다.
딱 몇일 때 좋다라는 기준이 없어 애매할 때가 많습니다. 이럴 때 향상도를 확인합니다. - 지지도, 신뢰도, 향상도는 우월을 가릴 수 없는 지표입니다. 분석결과는 상황에 따라 실무자의 관점에서판단이 필요합니다.
- 예를 들면 신뢰도가 동일하다고 했을 때,
- 마케팅 캠페인을 통해 소비자 노출이 중요하다면 지지도가 높은 Rule이 더 좋겠지만,
- 노출 대비 소비자 반응률(구매여부)이 지표인 경우 향상도가 높은 Rule이 더 좋은 규칙입니다.
연관 분석의 활용 : 데이터 분석가 vs 현업 담당자
- 지지도냐, 신뢰도와 향상도냐
데이터 분석가의 경우 신뢰도와 향상도가 높은 rule을 선호하는 경향이 있습니다. 그런데 매출과 이익을 책임져야 하는 사업부 현업의 경우는 연관규칙을 보는 view가 조금 다를 수 있음.
"그 rule을 적용하면 기대할 수 있는 매출 증가분이 얼마나 되는데요?“
이 질문에 만족할 만한 답을 주려면 '지지도(Support)'가 높아서 전체 거래 건수 중에서 해당 rule이 포함된 거래건수가 많아야지만이 해당 rule을 가지고 마케팅전략을 수립해서 실전에 적용했을 때 높은 매출 증가를기대할 수 있게 됩니다.
즉, 아무리 신뢰도(confidence)와 향상도(lift)가 높아도 지지도(support)가 빈약해서 전체 거래 중에 가뭄에콩나듯이 나오는 거래유형의 rule이라면 사업부 현업은 아마 무시할 겁니다. 현업을 빼고 분석가만 참여한연관규칙 분석이 위험하거나 아니면 실효성이 떨어질 수 있는 이유입니다.
그리고 지지도(support)가 매우 낮으면 몇 개 소수이 관측치의 치우침만으로도 신뢰도나 향상도가 크게영향을 받게 되어 '우연'에 의한 규칙이 잘못 선별될 위험도 있습니다.
Apriori
Apriori
아이템셋의 증가를 줄이기 위한 방법
기본적인 아이디어는 “빈번한 아이템셋은 하위 아이템셋 또한 빈번할 것이다“
즉, “빈번하지 않은 아이템셋은 하위 아이템셋 또한 빈번하지 않다"를 이용해서 아이템셋의 증가를 줄이는 방법
Apriori 원리
Apriori 프로세스
1. k개의 item을 가지고 단일항목집단 생성 (one-item frequent set)
2. 단일항목집단에서 최소 지지도(support) 이상의 항목만 선택
3. 2에서 선택된 항목만을 대상으로 2개항목집단 생성
4. 2개 항목집단에서 최소 지지도 혹은 신뢰도 이상의 항목만 선택
5. 위의 과정을 k개의 k-item frequent set을 생성할 때까지 반복
Apriori 예제
최소지지도 0.5 이상의 k-item frequent sets 생성하기
Apriori 장단점
장점
- 원리가 간단하여 사용자가 쉽게 이해할 수 있고 의미를 파악할 수 있음
- 유의한 연관성을 갖는 구매패턴을 찾아줌
단점
- 데이터가 클 경우 (item이 많은 경우)에 속도가 느리고 연산량이 많음
- 실제 사용시에 많은 연관상품들이 나타나기도 함.
'Machine Learning > 머신러닝 완벽가이드 for Python' 카테고리의 다른 글
CH08.02 텍스트 사전 준비작업(텍스트 전처리) - 텍스트 정규화 (0) | 2022.10.27 |
---|---|
CH08.01 텍스트 분석의 이해 (0) | 2022.10.25 |
Recommation System ch2. 추천 시스템 준비 (0) | 2022.10.20 |
Recommation System ch1. 추천시스템이란? (0) | 2022.10.20 |
ch6.4 SVD(Singular Value Decomposition) (0) | 2022.10.20 |