Mendefinisikan metrik Zhang
Secara umum, saat kita ingin melakukan suatu tugas berkali-kali, kita akan menulis sebuah fungsi, bukan menulis kode untuk setiap kasus satu per satu. Pada latihan ini, kita akan mendefinisikan fungsi untuk metrik Zhang yang menerima sebuah antecedent dan consequent lalu menghasilkan nilai metrik tersebut. Ketika masalah yang kita selesaikan semakin rumit pada bab berikutnya, memiliki cara yang praktis untuk menghitung sebuah metrik akan sangat memudahkan.
Perhatikan bahwa numpy telah diimpor sebagai np dan pandas telah diimpor sebagai pd. Selain itu, ingat bahwa bentuk persamaan metrik Zhang dalam hal perhitungan support adalah sebagai berikut:
$$Zhang(A \rightarrow B) = $$ $$\frac{Support(A \& B) - Support(A) Support(B)}{ max[Support(AB) (1-Support(A)), Support(A)(Support(B)-Support(AB))]}$$
Latihan ini adalah bagian dari kursus
Analisis Market Basket dengan Python
Petunjuk latihan
- Definisikan nilai support dari antecedent dan consequent secara terpisah.
- Definisikan support dari {antecedent, consequent}.
- Lengkapi ekspresi untuk pembilang dan penyebut.
- Lengkapi ekspresi untuk metrik Zhang.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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