Розширене фільтрування за кількома метриками
Раніше ми використовували дані з інтернет-магазину подарунків, щоб знайти антецеденти, які можна використати для просування цільового консеквента. Оскільки потенційних правил було багато, довелося покладатися на алгоритм Apriori та фільтрування за кількома метриками, щоб звузити вибір. У цій вправі ми розглянемо повний набір правил і знайдемо корисне, а не шукатимемо конкретний антецедент.
Зверніть увагу, що дані завантажено, попередньо оброблено й перетворено в one-hot формат і вони доступні як onehot. Крім того, apriori() та association_rules() імпортовано з mlxtend. У цій вправі ви застосуєте алгоритм Apriori, щоб знайти часті набори товарів. Потім отримаєте асоціативні правила з цих наборів і застосуєте фільтрування за кількома метриками.
Ця вправа є частиною курсу
Маркет-баcкет аналіз у Python
Інструкції до вправи
- Застосуйте алгоритм Apriori до one-hot закодованих наборів із мінімальною підтримкою 0.001.
- Видобудьте асоціативні правила, використовуючи поріг підтримки 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']])