Bir fonksiyonla conviction hesaplama
Deneme projesini başarıyla tamamlamanın ardından, e-kitap girişiminin kurucusu seni çok daha büyük bir proje için işe almaya karar veriyor. goodreads-10k veri kümesindeki her kitap çifti için conviction hesaplayıp hesaplayamayacağını soruyor; böylece bu bilgiyi, sitede hangi kitapların birbirine daha yakın konumlandırılacağına karar vermek için kullanabilecek.
İşi kabul ediyorsun ama conviction'ı çok kez hesaplaman gerekeceği için daha verimli bir yola ihtiyacın olduğunu fark ediyorsun. Bunu hesaplayan bir fonksiyon yazmaya karar veriyorsun. Fonksiyon, girdi olarak bir pandas DataFrame'inden iki sütun (biri öncül, biri sonuç) alacak ve conviction metrik değerini üretecek. pandas'ın pd ve numpy'nin np kısaltmalarıyla hazır bulunduğunu unutma.
Bu egzersiz, kursun bir parçasıdır
Python ile Market Basket Analysis
Egzersiz talimatları
- Öncül için desteği hesapla ve
supportAdeğişkenine ata. - SONUÇ DEĞİL için desteği hesapla.
- Öncül ve SONUÇ DEĞİL için desteği hesapla.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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