Statystyki kroswalidacji
Do strojenia klasyfikatora losowego lasu użyto przeszukiwania siatki z kroswalidacją. Teraz chcesz sprawdzić wyniki kroswalidacji, aby upewnić się, że model nie jest przeuczony. Interesuje cię w szczególności różnica między średnim wynikiem testowym a średnim wynikiem treningowym dla każdego podziału. Zbiór danych jest dostępny jako X_train i y_train, potok jako pipe, a kilka modułów jest już wczytanych – w tym pandas jako pd oraz GridSearchCV().
To ćwiczenie jest częścią kursu
Projektowanie przepływów pracy uczenia maszynowego w Pythonie
Instrukcje do ćwiczenia
- Utwórz obiekt przeszukiwania siatki z trzema podziałami kroswalidacji i upewnij się, że zwraca statystyki zarówno treningowe, jak i testowe.
- Dopasuj obiekt przeszukiwania siatki do danych treningowych.
- Zapisz wyniki kroswalidacji, dostępne w atrybucie
cv_results_dopasowanego obiektu CV, do ramki danych. - Wyświetl różnicę między kolumną zawierającą średni wynik testowy a kolumną zawierającą średni wynik treningowy.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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'])