Kroswalidacja k-krotna
Zaczniesz od praktycznego ćwiczenia z najczęściej stosowaną metodą kroswalidacji k-krotnej.
Dane, z którymi będziesz pracować, pochodzą z konkursu Kaggle "Two Sigma Connect: Rental Listing Inquiries". Zadanie polega na wieloklasowej klasyfikacji ogłoszeń wynajmu do 3 klas: niskie zainteresowanie, średnie zainteresowanie i wysokie zainteresowanie. Dla lepszej wydajności będziesz pracować z próbką zawierającą 1 000 obserwacji.
Musisz zaimplementować strategię walidacji k-krotnej i sprawdzić rozmiary poszczególnych foldów. DataFrame train jest już dostępny w twoim środowisku.
To ćwiczenie jest częścią kursu
Zwycięstwo w konkursie Kaggle w Pythonie
Instrukcje do ćwiczenia
- Utwórz obiekt
KFoldz 3 foldami. - Użyj pętli, aby przejść przez kolejne podziały za pomocą obiektu
kf. - Dla każdego podziału wybierz foldy treningowy i testowy, korzystając z
train_indexitest_index.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Import KFold
from sklearn.model_selection import KFold
# Create a KFold object
kf = ____(n_splits=____, shuffle=True, random_state=123)
# Loop through each split
fold = 0
for train_index, test_index in ____.____(train):
# Obtain training and testing folds
cv_train, cv_test = train.iloc[____], train.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