Bringe das Modell in den Einsatz
Teil des Abschnitts Überwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 54 von 58.
Die Testpinguine haben während des gesamten Projekts gewartet. Trainiere die abgestimmte Pipeline mit den Trainingszeilen und bewerte sie dann genau einmal anhand der Testpinguine: die ehrliche Kennzahl.
Sieh dir dann an, wo das Modell Fehler macht. Das Modell einer Klinik ordnet die Fälle den Kategorien gesund, Erkältung oder Grippe zu; die Zeilen zeigen die tatsächlichen Werte, die Spalten die Vorhersagen:
Ein neuer Pinguin ist eine Tabelle mit einer Zeile und den Trainingsspalten. predict benennt sie, und predict_proba(new).max() gibt an, wie sicher die Vorhersage ist: der Anteil der Gewinnerklasse, bei k-NN die Nachbarn, die übereinstimmen.
Aufgabe
MittelDie Ziellinie. model ist deine optimierte Pipeline; das Startprogramm liest einen neuen Pinguin in new_penguin ein.
- Trainiere das Modell mit den Trainingszeilen. Gib seine Testgenauigkeit (3 Dezimalstellen) und die Anzahl der Testpinguine aus, die es richtig benannt hat.
- Zeichne die Konfusionsmatrix der Testvorhersagen auf
axund zeige sie an. - Gib den Namen des neuen Pinguins und an, wie sicher sich das Modell ist, in Prozent.
Für eine Kolonie an einer anderen Station:
Test accuracy: 0.960 (72 of 75 penguins)
New penguin: Gentoo (86% sure)und ihre Matrix:
Dann zeigt Coddy dein Ergebnis an. Der Star aus Meet the Penguins maß 47.2, 18.0, 194 und 3650, auf Dream, weiblich. Führe dein Programm mit ihr aus: Wer ist sie?
Probier es selbst
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import make_pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import ConfusionMatrixDisplay
# Die Kolonie aus Meet the Penguins, ihre Merkmale und ihr Label
penguins = pd.read_csv("penguins.csv")
numbers = ["bill_length_mm", "bill_depth_mm", "flipper_length_mm", "body_mass_g"]
text = ["island", "sex"]
X = penguins[numbers + text]
y = penguins["species"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, stratify=y, random_state=0)
# Aus Prepare the Data: die beiden Verarbeitungswege
number_steps = make_pipeline(SimpleImputer(strategy="median"), StandardScaler())
text_steps = make_pipeline(SimpleImputer(strategy="constant", fill_value="unknown"), OneHotEncoder())
prep = ColumnTransformer([("numbers", number_steps, numbers), ("words", text_steps, text)])
# Aus Choose a Model and Tune the Winner: k-NN mit k = 7
model = make_pipeline(prep, KNeighborsClassifier(n_neighbors=7))
# Ein neuer Pinguin aus der Feldforschung, als einzeilige Tabelle mit denselben Spalten
new_penguin = pd.DataFrame({
"bill_length_mm": [float(input())],
"bill_depth_mm": [float(input())],
"flipper_length_mm": [float(input())],
"body_mass_g": [float(input())],
"island": [input()],
"sex": [input()],
})
fig, ax = plt.subplots()
ax.set_title("Test Penguins")
# Schreibe deinen Code unten
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-Reparaturen11Projekt: Pinguinarten
Lerne die Pinguine kennenBereite die Daten vorWähle ein ModellOptimiere den SiegerBringe das Modell in den Einsatz3Lineare 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