Ortalama hedef kodlama
Öncelikle, ortalama hedef kodlamayı uygulayan bir fonksiyon oluşturacaksın. İki adımı geliştirmen gerektiğini unutma:
- Eğitimin ortalamasını hesapla, testi buna göre dönüştür
- Eğitimi K katına böl. Her kat için kat-dışı ortalamayı hesapla, bu kat için uygula
Bu adımların her biri ayrı bir fonksiyonda uygulanacak: sırasıyla test_mean_target_encoding() ve train_mean_target_encoding().
Son fonksiyon mean_target_encoding() şu argümanları alır: eğitim ve test DataFrame'leri, kodlanacak kategorik sütunun adı, hedef sütunun adı ve bir yumuşatma parametresi alpha. İki değer döndürür: sırasıyla eğitim ve test DataFrame'leri için yeni birer özellik.
Bu egzersiz, kursun bir parçasıdır
Python ile Bir Kaggle Yarışmasını Kazanmak
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
def test_mean_target_encoding(train, test, target, categorical, alpha=5):
# Calculate global mean on the train data
global_mean = train[target].mean()
# Group by the categorical feature and calculate its properties
train_groups = train.groupby(categorical)
category_sum = train_groups[target].sum()
category_size = train_groups.size()
# Calculate smoothed mean target statistics
train_statistics = (category_sum + global_mean * alpha) / (category_size + ____)
# Apply statistics to the test data and fill new categories
test_feature = test[categorical].map(train_statistics).fillna(____)
return test_feature.values