confidence로 가지치기
또다시 한 가지로 좁히지 못했네요. 유용한 규칙이 여러 개 나오긴 했지만, 최종 후보를 하나로 고를 수가 없었어요. 더구나 발견한 두 규칙은 같은 아이템셋을 사용하면서 선행항과 결과항만 서로 바꾼 형태였어요. 다른 평가지표로 가지치기를 하면 단일 연관 규칙으로 좁힐 수 있을지 확인해 보기로 했어요.
어떤 지표가 적절할까요? 하나의 아이템셋에서 생성되는 모든 규칙은 lift와 support가 동일하므로, 대신 confidence를 사용하기로 합니다. 같은 아이템셋에서 나온 규칙이라도 confidence는 달라질 수 있기 때문이죠. 참고로 pandas는 pd로, 원-핫 인코딩된 거래 데이터는 onehot으로 제공됩니다. 또한 apriori는 mlxtend에서 이미 가져와 두었어요.
이 연습은 강의의 일부입니다
Python으로 배우는 Market Basket Analysis
연습 안내
mlxtend에서association_rules를 가져오세요.apriori알고리즘 문장을 완성하세요. support 값은 0.0015, 최대 아이템셋 길이(max_len)는 2로 설정합니다.- 연관 규칙 생성 문장을 완성하세요. 지표(metric)는 confidence, 임계값(threshold)은 0.5로 설정합니다.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Import the association rules function
____
# Compute frequent itemsets using the Apriori algorithm
frequent_itemsets = ____(onehot, ____,
____, use_colnames = True)
# Compute all association rules using confidence
rules = ____(frequent_itemsets,
metric = "____",
min_threshold = ____)
# Print association rules
print(rules)