K-fold křížová validace
Začneš tím, že si prakticky vyzkoušíš nejpoužívanější metodu K-fold křížové validace.
Data, se kterými budeš pracovat, pocházejí z Kaggle soutěže „Two Sigma Connect: Rental Listing Inquiries". Úloha spočívá v klasifikaci nabídek pronájmu do 3 tříd: nízký zájem, střední zájem a vysoký zájem. Pro lepší výkon budeš pracovat se vzorkem 1 000 pozorování.
Tvým úkolem je implementovat strategii K-fold validace a podívat se na velikosti jednotlivých foldů. DataFrame train je v tvém pracovním prostředí již k dispozici.
Toto cvičení je součástí kurzu
Jak vyhrát soutěž na Kaggle v Pythonu
Pokyny k cvičení
- Vytvoř objekt
KFoldse 3 foldy. - Pomocí objektu
kfprojdi smyčkou každé rozdělení. - Pro každé rozdělení vyber trénovací a testovací foldy pomocí
train_indexatest_index.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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