Tính conviction bằng một hàm
Sau khi hoàn thành tốt dự án thử nghiệm, nhà sáng lập của start-up ebook quyết định thuê bạn cho một dự án lớn hơn nhiều. Cô ấy hỏi liệu bạn có thể tính conviction cho mọi cặp sách trong bộ dữ liệu goodreads-10k không, để cô ấy dùng thông tin đó quyết định đặt các sách nào gần nhau hơn trên website.
Bạn đồng ý nhận việc, nhưng nhận ra mình cần một cách hiệu quả hơn để tính conviction, vì bạn sẽ phải tính nó rất nhiều lần. Bạn quyết định viết một hàm để tính chỉ số này. Hàm sẽ nhận vào hai cột của pandas DataFrame, một cột làm antecedent và một cột làm consequent, và trả về giá trị conviction. Lưu ý pandas có sẵn dưới tên pd và numpy có sẵn dưới tên np.
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
- Tính support cho antecedent và gán vào
supportA. - Tính support cho NOT consequent.
- Tính support cho antecedent và NOT consequent.
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.
def conviction(antecedent, consequent):
# Compute support for antecedent AND consequent
supportAC = np.logical_and(antecedent, consequent).mean()
# Compute support for antecedent
supportA = ____.____()
# Compute support for NOT consequent
supportnC = 1.0 - ____.____()
# Compute support for antecedent and NOT consequent
supportAnC = ____ - supportAC
# Return conviction
return supportA * supportnC / supportAnC