Расширенная фильтрация с несколькими метриками
Ранее мы использовали данные интернет-магазина сувениров, чтобы найти антецеденты для продвижения целевого консеквента. Поскольку потенциальных правил было много, мы применяли алгоритм Apriori и фильтрацию по нескольким метрикам, чтобы сузить выборку. В этом упражнении мы рассмотрим полный набор правил и найдём среди них полезное — без привязки к конкретному антецеденту.
Обратите внимание: данные уже загружены, предобработаны и закодированы методом горячего кодирования — они доступны в переменной onehot. Функции apriori() и association_rules() импортированы из mlxtend. В этом упражнении вы примените алгоритм Apriori для выявления частых наборов элементов, затем извлечёте из них правила ассоциации и применёте фильтрацию по нескольким метрикам.
Это упражнение является частью курса
Анализ рыночных корзин на Python
Инструкции к упражнению
- Примените алгоритм Apriori к закодированным наборам элементов с минимальным порогом поддержки 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']])