Walidacja krzyżowa
Walidacja krzyżowa to technika sprawdzania, jak model radzi sobie na danych, których nie widział podczas treningu. Pozwala upewnić się, że wyniki testowe nie są przypadkowym efektem konkretnego podziału danych. W tym ćwiczeniu skorzystasz z implementacji dostępnych w sklearn, aby przeprowadzić walidację krzyżową K-fold za pomocą modułu KFold() – i ocenić precyzję oraz czułość drzewa decyzyjnego.
W przestrzeni roboczej dostępne są: X_train, y_train, X_test, y_test. Załadowane są również pandas jako pd, numpy jako np oraz sklearn. Dostępne są też KFold() i cross_val_score() z modułu sklearn.model_selection.
To ćwiczenie jest częścią kursu
Przewidywanie CTR z użyciem uczenia maszynowego w Pythonie
Instrukcje do ćwiczenia
- Utwórz klasyfikator drzewa decyzyjnego.
- Skonfiguruj walidację krzyżową K-fold z czterema podziałami i przypisz ją do zmiennej
k-fold. - Użyj
k_folddo przeprowadzenia walidacji krzyżowej za pomocącross_val_score(), aby ocenić precyzję i czułość modelu (nie używajrecall_score()aniprecision_score()!).
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Create model
clf = ____
# Set up k-fold
k_fold = ____(n_splits = 4, random_state = 0, shuffle = True)
# Evaluate precision and recall for each fold
precision = ____(
clf, X_train, ____, cv = ____, scoring = 'precision_weighted')
recall = ____(
clf, X_train, ____, cv = ____, scoring = 'recall_weighted')
print("Precision scores: %s" %(precision))
print("Recall scores: %s" %(recall))