Statistiky křížové validace
Pomocí grid search CV jsi naladil/a klasifikátor náhodného lesa a teď chceš zkontrolovat výsledky křížové validace, abys ověřil/a, že nedošlo k přetrénování. Konkrétně tě zajímá rozdíl mezi průměrným skóre na testovací sadě a průměrným skóre na trénovací sadě pro každý fold. Dataset je dostupný jako X_train a y_train, pipeline jako pipe a potřebné moduly jsou předem načtené, včetně pandas jako pd a GridSearchCV().
Toto cvičení je součástí kurzu
Designing Machine Learning Workflows in Python
Pokyny k cvičení
- Vytvoř grid search objekt se třemi foldy křížové validace a nastav ho tak, aby vracel statistiky jak pro trénovací, tak pro testovací sadu.
- Natrénuj grid search objekt na trénovacích datech.
- Ulož výsledky křížové validace, které najdeš v atributu
cv_results_natrénovaného CV objektu, do dataframu. - Vypiš rozdíl mezi sloupcem s průměrným skóre na testovací sadě a sloupcem s průměrným skóre na trénovací sadě.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Fit your pipeline using GridSearchCV with three folds
grid_search = GridSearchCV(
pipe, params, ____=3, return_train_score=____)
# Fit the grid search
gs = grid_search.____(____, ____)
# Store the results of CV into a pandas dataframe
results = pd.____(gs.____)
# Print the difference between mean test and training scores
print(
results[____]-results['mean_train_score'])