Pruning bằng confidence
Lại một lần nữa, bạn vẫn chưa chốt được: bạn tìm thấy nhiều luật hữu ích nhưng không rút gọn được xuống còn một. Thậm chí tệ hơn, hai luật bạn tìm thấy dùng cùng một tập mục (itemset) nhưng hoán đổi phần tiền đề (antecedent) và hệ quả (consequent) cho nhau. Bạn quyết định thử xem việc cắt tỉa (pruning) theo một thang đo khác có giúp thu hẹp xuống còn một luật kết hợp hay không.
Vậy thang đo phù hợp là gì? Cả lift và support đều giống nhau cho mọi luật có thể sinh ra từ một itemset, nên bạn quyết định dùng confidence, vốn khác nhau giữa các luật được tạo từ cùng một itemset. Lưu ý pandas đã có sẵn với bí danh pd và dữ liệu giao dịch one-hot đã có trong biến onehot. Ngoài ra, apriori đã được import từ mlxtend.
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
- Import
association_rulestừmlxtend. - Hoàn thành câu lệnh chạy thuật toán
apriorivới giá trị support là 0.0015 và độ dài itemset tối đa là 2. - Hoàn thành câu lệnh tạo association rules dùng confidence làm metric và ngưỡng (threshold) là 0.5.
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.
# 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)