K-Fold-Validierung
Teil des Abschnitts Überwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 37 von 58.
Dieses Kapitel macht deine Bewertungen verlässlich. Am Ende wirst du ein Modell mit Diagrammen wie diesem abstimmen:
Eine einzelne Testaufteilung kann Glück haben. K-fache Kreuzvalidierung teilt die Zeilen in Faltungen auf, hier 5, und testet nacheinander mit jeder Faltung, während mit den übrigen trainiert wird:
Ein Aufruf führt alle fünf aus, hier für einen Baum auf den Irisblüten:
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}")Dies gibt Folgendes aus:
[0.967 0.967 0.9 0.967 1. ]
0.960 0.033Gib den Mittelwert als Wertung und die Standardabweichung als Maß dafür an, wie stark sie schwankt.
Aufgabe
MittelEine Kombucha-Brauerei sagt verdorbene Chargen anhand von 5 Laborwerten voraus. Wie stabil ist ihr Modell? Das Programm liest die Anzahl der Folds ein; der Startcode erstellt die Daten und das Modell.
- Führe eine Kreuzvalidierung des Modells mit dieser Anzahl an Folds durch.
- Gib die Genauigkeit jedes Folds und anschließend den Mittelwert und die Standardabweichung aus, jeweils auf 3 Dezimalstellen.
- Gib die Nummer des schwächsten Folds aus, beginnend bei 1.
Für andere Chargen und 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: 3Probier es selbst
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())
# Ändere die folgenden Zeilen nicht: 240 Kombucha-Chargen mit jeweils 5 Labormesswerten; Label 1 bedeutet verdorben
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)
# Schreibe deinen Code darunter
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Überwachtes Lernen
1Dein erstes Modell
Aus Beispielen lernenTrainings- und TestdatensätzeAnpassen und VorhersagenEin Modell bewertenRückblick: Saatgutsortierer4Logistische Regression
Ja-Nein-VorhersagenDie EntscheidungsschwelleGewichte als IndizienMehrere KlassenRückblick: Spamfilter2Nächste Nachbarn
So entscheidet k-NNk wählenEntscheidungsgrenzenSkalierung für NachbarnRückblick: Wein-Nachbarn5Klassifikatoren bewerten
Die KonfusionsmatrixPräzision und TrefferquoteDer F1-ScoreUnausgewogene KlassenROC-KurvenRückblick: Screeningtest8Kreuzvalidierung
K-Fold-ValidierungModelle fair vergleichenGittersucheRückblick: Skateboard-Reparaturen3Lineare Regression
Zahlen vorhersagenMehrere MerkmaleFehler messenResiduenplotsZusammenfassung: Fahrradverleih6Entscheidungsbäume
Bäume stellen FragenEinen Baum lesenBaumtiefeMerkmalswichtigkeitRückblick: Kreditentscheidungen9Ensembleverfahren
Random ForestsWarum Random Forests funktionierenGradient BoostingRückblick: Förster des Waldes12Abschließende Herausforderungen
Diabetes-FortschrittKreditgenehmigungHandgeschriebene ZiffernKundenabwanderungÜbe selbstständig: Online-Python-Compiler