흔히 장바구니 분석이라고 알려져 있는 고객 선택 예측, Association Rule이라 하며 연관 규칙 분석이라고도 표현한다.
여러 데이터 사이의 연관성을 찾아 고객의 선택을 예측하는 분석법이다.
상품 A를 선택한 고객이 상품 B도 선택할 확률이 몇 퍼센트인지, 즉 고객이 어떤 상품들을 주로 함께 선택하는지 등의 추측이 가능하다.
유튜브나 넷플릭스의 콘텐츠 추천, 포털 사이트의 당신이 좋아할 뉴스, 인터넷 쇼핑몰의 상품 추천과 같은 개인화 추천 서비스들의 구현에도 활용될 수 있는 유용한 분석방법이다.
Options의 add-on에서 Associate를 설치한다.
파일을 불러온 후 다운받은 데이터셋을 연결한다.
Hair Conditioner, Lemons 등 이 쇼핑몰에서 판매하는 상품 255개가 변수로 들어가 있고, 모두 Role은 Feature 즉 분석의 재료로 설정되어 있다.
Target 설정이 없으므로 이러한 고객 선택 예측 즉 연관규칙 분석은 비지도 학습이라는 것을 알 수 있다.
변수들의 Type은 categorical 즉 범주형(객관식 보기)으로 되어 있는데 그 이유는 이 데이터셋이 고객이 각 상품을 구매했느냐 안 했느냐 즉 Yes No로 구분해서 표시해준 것이기 때문이다.
구매했으면 1, 구매하지 않았으면 공백으로 되어 있다.
분석
Frequent Itemsets를 File에 연결한 후 더블클릭한다.
Find itemsets 메뉴에서 Minimal support를 1%로 맞춘 후 아래에 있는 Fine Itemsets 버튼을 누른다.
Support는 출현빈도, 비중을 말하는 것으로 Minimal Support 설정은 전체 거래 중에 최소한 몇 % 이상의 빈도, 비중을 가지는 결과만 보고 싶을 때 사용하는 옵션이다.
상품도 많고 거래도 많으면 발생 빈도나 비중이 그렇게 높지 않기 때문에 1% 혹은 0.1%와 같이 숫자를 낮게 설정한다.
제일 위 Eggs=1이란 달걀을 구매한 경우이며 거래가 167회 이루어졌고, 전체 거래의 13.25%에 달하는 빈도를 가지고 있다는 뜻이다.
그 아래 줄을 보면 White Bread=1이라고 되어 있는데, 이건 흰 빵을 산 거래이다. 그런데 달걀과 수직으로 나란히 되어 있지 않고 오른쪽으로 한 칸 들어가 있다. 이것은 and를 뜻하는 것으로 그냥 흰 삥만 산 경우가 아니라 달걀을 사고 흰 빵도 산 경우가 75회, 전체 거래의 5.952% 비중이라는 것이다.
그 아래 줄 Sweet Relish=1 이라는 부분도 역시 오른쪽으로 한 칸 들어가 있으므로 달걀을 사고 흰 빵도 사고 달콤한 소스까지 산 경우가 36회, 전체 거래의 2.857% 비중이라는 뜻이다.
그 아래 줄 Tooth Paste=1 부분은 오른쪽으로 한칸 들어가지 않고, Sweet Relish=1과 수직으로 나란히 되어 있다. 그러면 달콤한 소스를 산 거래와 이어지는 게 아니고 그 위 거래와 이어지는 것이다. 즉, 달걀을 사고 흰 빵도 사고 치약도 산 경우가 44회, 전체 거래의 3.492% 비중이라는 뜻이다.
추가 분석
자주 같이 사는 상품 정도가 아니라 A상품을 샀을 때 B 상품을 살 확률 등을 알아 보자.
Association Rules 아이콘을 불러온 후 더블클릭한다.
Minimal Support는 1%로 한다.
Minimal confidence는 예측의 확률, 예측의 강도를 의미하며 "A 상품 사면 B 상품 살 확률"이 100% 인지 90% 인지 정보를 설정하는 것이다.
Antecedent는 조건으로 "만약 달걀을 사면~~" 이 부분이다. Antecedent 쪽에 98 pct. Fat Free Hambegger=1, Wheat Bread=1 이렇게 적혀 있는 건, "98% 무지방 햄버거와 호밀빵을 사는 고객은~~"이라는 뜻이다.
그 오른쪽 Consequent는 결과 즉 예측이다. White Bread=1이라는 건 "흰 빵도 산다"는 뜻이다. 조건 Antecedent 부분과 합쳐서 읽으면 "98% 무지방 햄버거와 호밀빵을 사는 고객은 흰 빵도 산다"라고 알려주는 것이다.
왼쪽의 Conf(confidence) 숫자가 0.900이라는 것은 90%의 확률을 가진다는 뜻이다.
왼쪽의 Lift 항목은 1보다 크면 클수록 의미 있는 규칙이며 1보다 작으면 의미 없는 규칙이 된다.
Cover(Coverage), Strg(Strength), Levr(Leverage)는 굳이 참고하지 않아도 되는 지표이다.
따라서 Support, Confidence, Lift만으로 충분히 규칙을 평가할 수 있다.