Làm sạch dữ liệu và phân tích khám phá

A/B Testing bằng Python

Moe Lotfy, PhD

Principal Data Science Manager

Làm sạch giá trị thiếu

  • Giá trị thiếu
    • Loại bỏ, bỏ qua, hoặc nội suy
# Tính giá trị đơn hàng trung bình
checkout.order_value.mean()
30.0096
# Thay giá trị thiếu bằng 0 rồi lấy trung bình
checkout['order_value'].fillna(0).mean()
25.3581
A/B Testing bằng Python

Làm sạch trùng lặp

  • Bản ghi trùng
    • Hàng giống hệt nên được loại bỏ
# Kiểm tra hàng trùng do lỗi log 
print(len(checkout))
print(len(checkout.drop_duplicates(keep='first')))
9000
9000
A/B Testing bằng Python

Làm sạch trùng lặp

  • Bản ghi trùng
    • Người dùng trùng cần xử lý thận trọng.
# Số người dùng duy nhất ở nhóm B
print(checkout[checkout['checkout_page'] == 'B']['user_id'].nunique())
# Người dùng duy nhất mua ít nhất một lần
print(checkout[checkout['checkout_page'] == 'B'].groupby('user_id')['purchased'].max().sum())
# Tổng số sự kiện mua ở nhóm B
print(checkout[checkout['checkout_page'] == 'B']['purchased'].sum())
2938
2491.0
2541.0
A/B Testing bằng Python

Thống kê tóm tắt EDA

  • Tóm tắt mean, count, std
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 Testing bằng Python

Vẽ EDA

  • Biểu đồ cột
sns.barplot(x=checkout['checkout_page'], y=checkout['order_value'], estimator=np.mean)
plt.title('Giá trị đơn hàng trung bình theo biến thể trang thanh toán')
plt.xlabel('Biến thể trang thanh toán')
plt.ylabel('Giá trị đơn hàng [$]')

Biểu đồ cột: giá trị đơn hàng trung bình theo biến thể trang thanh toán

A/B Testing bằng Python

Vẽ EDA

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

Histogram giá trị đơn hàng

A/B Testing bằng Python

Vẽ EDA

  • Chuỗi thời gian (đường)
sns.lineplot(data=AdSmart,x='date', y='yes', hue='experiment', errorbar=None)

Biểu đồ chuỗi thời gian: tỷ lệ người dùng trả lời Yes với quảng cáo

1 Bộ dữ liệu Adsmart trên Kaggle: https://www.kaggle.com/datasets/osuolaleemmanuel/ad-ab-testing
A/B Testing bằng Python

Ayo berlatih!

A/B Testing bằng Python

Preparing Video For Download...