Data opschonen en verkennende analyse

A/B-testen in Python

Moe Lotfy, PhD

Principal Data Science Manager

Missende waarden opschonen

  • Missende waarden
    • Droppen, negeren, imputeren
# Bereken de gemiddelde orderwaarde
checkout.order_value.mean()
30.0096
# Vervang missende waarden door nul en neem het gemiddelde
checkout['order_value'].fillna(0).mean()
25.3581
A/B-testen in Python

Duplicaten opschonen

  • Duplicaten
    • Identieke rijen moeten worden gedropt
# Check op dubbele rijen door loggingproblemen 
print(len(checkout))
print(len(checkout.drop_duplicates(keep='first')))
9000
9000
A/B-testen in Python

Duplicaten opschonen

  • Duplicaten
    • Dubbele gebruikers voorzichtig behandelen.
# Unieke gebruikers in groep B
print(checkout[checkout['checkout_page'] == 'B']['user_id'].nunique())
# Unieke gebruikers die minstens één keer kochten
print(checkout[checkout['checkout_page'] == 'B'].groupby('user_id')['purchased'].max().sum())
# Totaal aantal koopgebeurtenissen in groep B
print(checkout[checkout['checkout_page'] == 'B']['purchased'].sum())
2938
2491.0
2541.0
A/B-testen in Python

EDA samenvattingsstats

  • Samenvatting: gemiddelde, aantal en standaarddeviatie
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
A/B-testen in Python

EDA-plotten

  • Staafdiagrammen
sns.barplot(x=checkout['checkout_page'], y=checkout['order_value'], estimator=np.mean)
plt.title('Gemiddelde orderwaarde per checkout-variant')
plt.xlabel('Checkout-variant')
plt.ylabel('Orderwaarde [$]')

Staafdiagram van gemiddelde orderwaarde per checkout-variant

A/B-testen in Python

EDA-plotten

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

Histogram van orderwaarde

A/B-testen in Python

EDA-plotten

  • Tijdreeksen (lijngrafieken)
sns.lineplot(data=AdSmart,x='date', y='yes', hue='experiment', errorbar=None)

Lijngrafiek van aandeel gebruikers dat ja zegt op een advertentie

1 Adsmart Kaggle-dataset: https://www.kaggle.com/datasets/osuolaleemmanuel/ad-ab-testing
A/B-testen in Python

Laten we oefenen!

A/B-testen in Python

Preparing Video For Download...