집계와 필터링
영상에서는, 기프트 스토어 매니저가 매장 내 섹션을 연관 규칙에 따라 배치하도록 도왔어요. 매장 구조상 섹션을 두 개의 상품군 쌍으로 묶어야 했고, 고급 필터링 기법을 적용한 뒤 아래와 같은 매장 배치를 제안했죠.
이제 매니저는 다른 기준으로 새로운 매장 배치를 제안해 달라고 요청했어요. 각 섹션 쌍에 지지도가 높은 상품 하나와 지지도가 낮은 상품 하나가 포함되어야 해요. 데이터 aggregated는 이미 집계되고 원-핫 인코딩되어 있어요. 또한 mlxtend에서 apriori()와 association_rules()가 임포트되어 있어요.
이 연습은 강의의 일부입니다
Python으로 배우는 Market Basket Analysis
연습 안내
- 최소 지지도 임계값을 0.0001로 설정해 빈발 항목집합을 생성하세요.
- 최소 지지도 임계값 0.0001로 모든 연관 규칙을 도출하세요.
- 선행 항목의 지지도(antecedent support)가 0.35보다 큰 모든 규칙을 선택하세요.
- 결과 항목의 지지도(consequent support) 최대값이 0.35 미만인 모든 규칙을 선택하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Apply the apriori algorithm with a minimum support of 0.0001
frequent_itemsets = apriori(aggregated, ____, use_colnames = True)
# Generate the initial set of rules using a minimum support of 0.0001
rules = association_rules(frequent_itemsets,
metric = "____", min_threshold = ____)
# Set minimum antecedent support to 0.35
rules = rules[____['antecedent support'] > ____]
# Set maximum consequent support to 0.35
rules = rules[____ < 0.35]
# Print the remaining rules
print(rules)