MulaiMulai sekarang secara gratis

Pengodean target rata-rata

Pertama-tama, Anda akan membuat fungsi yang menerapkan pengodean target rata-rata. Ingat bahwa Anda perlu mengembangkan dua langkah berikut:

  1. Hitung rata-rata pada train, terapkan ke test
  2. Bagi train menjadi K fold. Hitung rata-rata out-of-fold untuk setiap fold, terapkan ke fold tersebut

Masing-masing langkah ini akan diimplementasikan dalam fungsi terpisah: test_mean_target_encoding() dan train_mean_target_encoding().

Fungsi akhir mean_target_encoding() menerima argumen: DataFrame train dan test, nama kolom kategorikal yang akan dikodekan, nama kolom target, dan parameter pemulusan alpha. Fungsi ini mengembalikan dua nilai: fitur baru untuk DataFrame train dan test, masing-masing.

Latihan ini adalah bagian dari kursus

Memenangi Kompetisi Kaggle dengan Python

Lihat Kursus

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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
Edit dan Jalankan Kode