Apriori로 빈발 아이템셋 찾기
온라인 소매업체를 위한 이전 집계 연습은 유용했어요. 거래에서 어떤 범주의 상품이 자주 등장하는지 파악할 수 있는 출발점을 제공했죠. 이제 소매업체는 개별 상품 자체를 살펴보며 어떤 상품이 빈발하는지 알고 싶어 합니다.
이번 연습에서는 사전 집계 없이 온라인 소매 데이터셋에 Apriori 알고리즘을 적용해 볼 거예요. 목표는 최소 지지도와 최대 아이템 수 기준을 사용하여 아이템셋을 가지치기(pruning)하는 것입니다. 참고로 pandas는 pd로 임포트되어 있고, 원-핫 인코딩된 데이터는 onehot으로 제공돼요.
이 연습은 강의의 일부입니다
Python으로 배우는 Market Basket Analysis
연습 안내
- Apriori 알고리즘에
onehot을(를) 전달하세요. - 최소 지지도를 0.006으로 설정하세요.
- 아이템셋의 최대 길이를 3으로 설정하세요.
- 처음 다섯 개 아이템셋을 미리 보기로 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Import apriori from mlxtend
from mlxtend.frequent_patterns import apriori
# Compute frequent itemsets using the Apriori algorithm
frequent_itemsets = apriori(____,
____ = ____,
max_len = ____,
use_colnames = True)
# Print a preview of the frequent itemsets
print(____.head())