Walidacja k-krotna
Część sekcji Uczenie nadzorowane ścieżki Machine Learning w Coddy. Lekcja 37 z 58.
Ten rozdział sprawi, że Twoje wyniki będą wiarygodne. Po jego ukończeniu dostroisz model za pomocą wykresów takich jak ten:
Jeden podział testowy może dać szczęśliwy wynik. Walidacja krzyżowa K-krotna dzieli wiersze na części, tutaj 5, i kolejno testuje na każdej z nich, ucząc na pozostałych:
Jedno wywołanie uruchamia wszystkie pięć, tutaj dla drzewa klasyfikującego kwiaty irysa:
from sklearn.model_selection import cross_val_score
tree = DecisionTreeClassifier(random_state=0)
scores = cross_val_score(tree, X, y, cv=5)
print(np.round(scores, 3))
print(f"{scores.mean():.3f} {scores.std():.3f}")To wyświetla:
[0.967 0.967 0.9 0.967 1. ]
0.960 0.033Podaj średnią jako wynik, a odchylenie standardowe jako miarę tego, jak bardzo wynik się waha.
Wyzwanie
ŚredniBrowar kombuchy przewiduje, które partie się zepsuły, na podstawie 5 odczytów laboratoryjnych. Jak stabilny jest jego model? Program odczytuje liczbę fałd; kod startowy tworzy dane i model.
- Przeprowadź walidację krzyżową modelu z taką liczbą fałd.
- Wypisz dokładność dla każdego fałdu, a następnie średnią i odchylenie standardowe, wszystko z dokładnością do 3 miejsc po przecinku.
- Wypisz numer najsłabszego fałdu, licząc od 1.
Dla innych partii i 4:
Fold 1: 0.917
Fold 2: 0.933
Fold 3: 0.883
Fold 4: 0.917
Mean 0.912, std 0.018
Weakest fold: 3Spróbuj swoich sił
import numpy as np
from sklearn.datasets import make_classification
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression
n_folds = int(input())
# Nie zmieniaj poniższych wierszy: 240 partii kombuchy, po 5 odczytów laboratoryjnych dla każdej; etykieta 1 oznacza zepsutą partię
X, y = make_classification(n_samples=240, n_features=5, n_informative=3, n_redundant=0,
flip_y=0.08, class_sep=0.9, random_state=2)
model = LogisticRegression(max_iter=1000)
# Wpisz swój kod poniżej
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Uczenie nadzorowane
1Twój pierwszy model
Uczenie się na przykładachZbiory treningowe i testoweDopasowywanie i przewidywanieOcena modeluPodsumowanie: Sortownik nasion4Regresja logistyczna
Przewidywanie „tak” lub „nie”Próg decyzyjnyWagi jako dowodyWiele klasPodsumowanie: filtr spamu2Najbliżsi sąsiedzi
Jak działa k-NNWybór kGranice decyzyjneSkalowanie dla sąsiadówPodsumowanie: sąsiedzi w zbiorze Wine5Ocena klasyfikatorów
Macierz pomyłekPrecyzja i czułośćWynik F1Niezrównoważone klasyKrzywe ROCPodsumowanie: test przesiewowy8Walidacja krzyżowa
Walidacja k-krotnaUczciwe porównywanie modeliPrzeszukiwanie siatkiPodsumowanie: naprawa deskorolki11Projekt: Gatunki pingwinów
Poznaj pingwinyPrzygotuj daneWybierz modelDopracuj zwycięski modelWdróż modelPoćwicz samodzielnie: Kompilator Python online