Menghitung conviction dengan sebuah fungsi
Setelah berhasil menyelesaikan proyek percobaan, pendiri startup ebook tersebut memutuskan untuk merekrut Anda untuk proyek yang jauh lebih besar. Ia menanyakan apakah Anda dapat menghitung conviction untuk setiap pasangan buku dalam himpunan data goodreads-10k, sehingga ia dapat menggunakan informasi tersebut untuk menentukan buku mana yang perlu ditempatkan lebih berdekatan di situs web.
Anda setuju mengambil pekerjaan itu, tetapi menyadari bahwa Anda memerlukan cara yang lebih efisien untuk menghitung conviction, karena Anda akan menghitungnya berkali-kali. Anda memutuskan menulis sebuah fungsi yang menghitungnya. Fungsi ini akan menerima dua kolom dari DataFrame pandas sebagai masukan, satu sebagai antecedent dan satu sebagai consequent, lalu menghasilkan metrik conviction. Perhatikan bahwa pandas tersedia sebagai pd dan numpy tersedia sebagai np.
Latihan ini adalah bagian dari kursus
Analisis Market Basket dengan Python
Petunjuk latihan
- Hitung support untuk antecedent dan simpan ke
supportA. - Hitung support untuk BUKAN consequent.
- Hitung support untuk antecedent dan BUKAN consequent.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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