Validare încrucișată K-fold
Vei începe prin a dobândi experiență practică cu cea mai utilizată tehnică de validare încrucișată: K-fold.
Datele cu care vei lucra provin din competiția Kaggle „Two sigma connect: rental listing inquiries". Problema constă într-o clasificare multi-clasă a anunțurilor de închiriere în 3 categorii: interes scăzut, interes mediu și interes ridicat. Pentru performanță mai bună, vei lucra cu un subset de 1.000 de observații.
Trebuie să implementezi o strategie de validare K-fold și să analizezi dimensiunile fiecărui fold obținut. DataFrame-ul train este deja disponibil în spațiul tău de lucru.
Acest exercițiu face parte din cursul
Câștigarea unei competiții Kaggle în Python
Instrucțiuni pentru exercițiu
- Creează un obiect
KFoldcu 3 folduri. - Parcurge fiecare împărțire folosind obiectul
kf. - Pentru fiecare împărțire, selectează foldurile de antrenament și testare folosind
train_indexșitest_index.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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