Lọc nâng cao với nhiều chỉ số
Trước đó, bạn đã dùng dữ liệu từ một cửa hàng quà tặng độc đáo trực tuyến để tìm các tiền đề (antecedents) có thể dùng để quảng bá cho một hậu đề (consequent) mục tiêu. Vì tập luật tiềm năng rất lớn, chúng ta phải dựa vào thuật toán Apriori và bộ lọc đa chỉ số để thu hẹp phạm vi. Trong bài tập này, bạn sẽ xem toàn bộ tập luật và tìm một luật hữu ích, thay vì nhắm mục tiêu một tiền đề cụ thể.
Lưu ý: dữ liệu đã được tải, tiền xử lý, mã hóa one-hot và có sẵn dưới tên onehot. Ngoài ra, apriori() và association_rules() đã được import từ mlxtend. Trong bài tập này, bạn sẽ áp dụng thuật toán Apriori để xác định các tập mục thường xuyên. Sau đó, bạn sẽ trích xuất tập luật kết hợp từ các tập mục và áp dụng lọc theo nhiều chỉ số.
Bài tập này là một phần của khóa học
Phân tích giỏ hàng trong Python
Hướng dẫn bài tập
- Áp dụng thuật toán Apriori cho các tập mục đã mã hóa one-hot với ngưỡng support tối thiểu là 0.001.
- Trích xuất các luật kết hợp với ngưỡng support tối thiểu là 0.001.
- Đặt
antecedent_supportở mức 0.002 vàconsequent_supportở mức 0.01. - Thiết lập
confidencelớn hơn 0.60 vàliftlớn hơn 2.50.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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']])