여러 메트릭으로 고급 필터링
앞서 온라인 기프트 숍의 데이터를 사용해 특정 결과 상품을 홍보하는 데 활용할 수 있는 전건을 찾았어요. 가능한 규칙 수가 많았기 때문에 Apriori 알고리즘과 다중 메트릭 필터링을 활용해 범위를 좁혀야 했죠. 이번 연습에서는 특정 전건을 정하지 않고, 전체 규칙 집합을 살펴 유용한 규칙을 찾아보겠습니다.
데이터는 이미 로드되어 전처리와 원-핫 인코딩이 완료되었으며 onehot으로 제공됩니다. 또한 mlxtend에서 apriori()와 association_rules()가 임포트되어 있어요. 이번 연습에서는 Apriori 알고리즘을 적용해 빈발 항목 집합을 식별하고, 그 항목 집합에서 연관 규칙을 생성한 뒤 다중 메트릭 필터링을 적용합니다.
이 연습은 강의의 일부입니다
Python으로 배우는 Market Basket Analysis
연습 안내
- 최소 지지도 임계값 0.001로 원-핫 인코딩된 항목 집합에 Apriori 알고리즘을 적용하세요.
- 최소 지지도 임계값 0.001로 연관 규칙을 추출하세요.
antecedent_support를 0.002로,consequent_support를 0.01로 설정하세요.confidence는 0.60 초과,lift는 2.50 초과가 되도록 설정하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Apply the Apriori algorithm with a minimum support threshold of 0.001
frequent_itemsets = ____(onehot, min_support = ____, use_colnames = True)
# Recover association rules using a minium support threshold of 0.001
rules = ____(frequent_itemsets, metric = '____', min_threshold = 0.001)
# Apply a 0.002 antecedent support threshold, 0.60 confidence threshold, and 2.50 lift threshold
filtered_rules = rules[(rules['antecedent support'] > ____) &
(____['consequent support'] > 0.01) &
(rules['____'] > ____) &
(____ > 2.50)]
# Print remaining rule
print(filtered_rules[['antecedents','consequents']])