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

Stratified K-fold

Az önce fark ettiğin gibi, rastgele bölmeler nedeniyle katmanlar arasında hedef değişkenin dağılımı oldukça farklı. Bu, bu spesifik yarışma için kritik olmayabilir ama hedef değişkenin çok dengesiz olduğu sınıflandırma yarışmalarında sorun yaratabilir.

Bunu aşmak için, hedef değişkende katmanlaştırma (stratification) yaparak stratified K-fold stratejisini uygulayalım. train DataFrame'i çalışma alanında hazır.

Bu egzersiz, kursun bir parçasıdır

Python ile Bir Kaggle Yarışmasını Kazanmak

Kursa Göz Atın

Egzersiz talimatları

  • 3 katman (fold) ve karıştırma (shuffling) ile bir StratifiedKFold nesnesi oluştur.
  • str_kf nesnesini kullanarak her bölme üzerinde döngü kur. Katmanlaştırma "interest_level" sütununa göre yapılacak.
  • Her bölme için train_index ve test_index kullanarak eğitim ve test katmanlarını (fold'larını) seç.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Import StratifiedKFold
from sklearn.model_selection import StratifiedKFold

# Create a StratifiedKFold object
str_kf = ____(n_splits=____, shuffle=____, random_state=123)

# Loop through each split
fold = 0
for train_index, test_index in ____.____(train, train['interest_level']):
    # Obtain training and testing folds
    cv_train, cv_test = ____.iloc[____], ____.iloc[____]
    print('Fold: {}'.format(fold))
    print('CV train shape: {}'.format(cv_train.shape))
    print('Medium interest listings in CV train: {}\n'.format(sum(cv_train.interest_level == 'medium')))
    fold += 1
Kodu Düzenle ve Çalıştır