Định nghĩa thước đo Zhang
Nói chung, khi cần thực hiện một tác vụ nhiều lần, bạn sẽ viết một hàm thay vì viết mã cho từng trường hợp riêng lẻ. Trong bài tập này, bạn sẽ định nghĩa một hàm cho thước đo Zhang, nhận vào một tiền đề (antecedent) và một kết quả (consequent), rồi xuất ra chính giá trị của thước đo. Khi các bài toán ở chương tiếp theo trở nên phức tạp hơn, có sẵn một cách thuận tiện để tính một thước đo sẽ giúp mọi thứ đơn giản hơn rất nhiều.
Lưu ý numpy đã được nhập với bí danh np và pandas đã được nhập với bí danh pd. Ngoài ra, hãy nhớ rằng biểu thức thước đo Zhang theo các phép tính support là như sau:
$$Zhang(A \rightarrow B) = $$ $$\frac{Support(A \& B) - Support(A) Support(B)}{ max[Support(AB) (1-Support(A)), Support(A)(Support(B)-Support(AB))]}$$
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
- Xác định các giá trị support của tiền đề và kết quả một cách riêng lẻ.
- Xác định support của {antecedent, consequent}.
- Hoàn thiện các biểu thức cho tử số và mẫu số.
- Hoàn thiện biểu thức cho thước đo Zhang.
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.
# Define a function to compute Zhang's metric
def zhang(antecedent, consequent):
# Compute the support of each book
supportA = antecedent.____
supportC = consequent.____
# Compute the support of both books
supportAC = np.____(antecedent, consequent).____
# Complete the expressions for the numerator and denominator
numerator = supportAC - supportA*supportC
denominator = ___(supportAC*(1-supportA), supportA*(supportC-supportAC))
# Return Zhang's metric
return numerator / denominator