Veri temizleme ve keşifsel analiz

Python ile A/B Testi

Moe Lotfy, PhD

Principal Data Science Manager

Eksik değer temizleme

  • Eksik değerler
    • Kaldır, yok say, atama yap
# Ortalama sipariş değerini hesapla
checkout.order_value.mean()
30.0096
# Eksik değerleri sıfırla doldur ve ortalamayı al
checkout['order_value'].fillna(0).mean()
25.3581
Python ile A/B Testi

Yinelemeleri temizleme

  • Yinelemeler
    • Özdeş satırlar kaldırılmalıdır
# Günlükleme sorunları nedeniyle yinelenen satırları kontrol et 
print(len(checkout))
print(len(checkout.drop_duplicates(keep='first')))
9000
9000
Python ile A/B Testi

Yinelemeleri temizleme

  • Yinelemeler
    • Yinelenen kullanıcılar dikkatle ele alınmalıdır.
# B grubundaki benzersiz kullanıcılar
print(checkout[checkout['checkout_page'] == 'B']['user_id'].nunique())
# En az bir kez satın alan benzersiz kullanıcılar
print(checkout[checkout['checkout_page'] == 'B'].groupby('user_id')['purchased'].max().sum())
# B grubundaki toplam satın alma olayı
print(checkout[checkout['checkout_page'] == 'B']['purchased'].sum())
2938
2491.0
2541.0
Python ile A/B Testi

KEA özet istatistikler

  • Ortalama, adet ve standart sapma özeti
checkout.groupby('checkout_page')['order_value'].agg({'mean','std','count'})
                    mean     count    std
checkout_page            
        A        24.956437    2461    2.418837
        B        29.876202    2541    7.277644
        C        34.917589    2603    4.869816
Python ile A/B Testi

KEA görselleştirme

  • Çubuk grafikler
sns.barplot(x=checkout['checkout_page'], y=checkout['order_value'], estimator=np.mean)
plt.title('Her Ödeme Sayfası Varyantı için Ortalama Sipariş Değeri')
plt.xlabel('Ödeme Sayfası Varyantı')
plt.ylabel('Sipariş Değeri [$]')

Ödeme sayfası varyantına göre ortalama sipariş değeri çubuk grafiği

Python ile A/B Testi

KEA görselleştirme

  • Histogramlar
sns.displot(data=checkout, x='order_value', hue = 'checkout_page', kde=True)

Sipariş değerinin histogramı

Python ile A/B Testi

KEA görselleştirme

  • Zaman serisi (çizgi grafikleri)
sns.lineplot(data=AdSmart,x='date', y='yes', hue='experiment', errorbar=None)

Bir reklama evet diyen kullanıcı oranının zaman serisi grafiği

1 Adsmart Kaggle veri kümesi: https://www.kaggle.com/datasets/osuolaleemmanuel/ad-ab-testing
Python ile A/B Testi

Hadi pratik yapalım!

Python ile A/B Testi

Preparing Video For Download...