BaşlayınÜcretsiz başlayın

Ortalama hedef kodlama

Öncelikle, ortalama hedef kodlamayı uygulayan bir fonksiyon oluşturacaksın. İki adımı geliştirmen gerektiğini unutma:

  1. Eğitimin ortalamasını hesapla, testi buna göre dönüştür
  2. 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

Kursa Göz Atın

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
Kodu Düzenle ve Çalıştır