Déployer le modèle
Fait partie de la section Apprentissage supervisé du Journey Machine Learning de Coddy. Leçon 54 sur 58.
Les manchots de test ont attendu pendant tout le projet. Entraîne le pipeline réglé sur les lignes d’entraînement, puis évalue-le une seule fois sur les manchots de test : le résultat honnête.
Voyez ensuite où il se trompe. Le modèle d’une clinique classe les patients comme étant en bonne santé, enrhumés ou grippés ; les lignes représentent la réalité, les colonnes ses prédictions :
Un nouveau manchot est une table d’une seule ligne avec les colonnes d’entraînement. predict la nomme, et predict_proba(new).max() indique le degré de certitude : la proportion de la classe gagnante, pour k-NN, celle des voisins qui sont d’accord.
Défi
MoyenLa ligne d’arrivée. model est ton pipeline ajusté ; le code de départ lit un nouveau manchot dans new_penguin.
- Ajuste le modèle sur les lignes d’entraînement. Affiche sa précision sur les données de test (3 décimales) et le nombre de manchots de test correctement identifiés.
- Trace la matrice de confusion des prédictions sur les données de test sur
ax, puis affiche-la. - Indique le nom du nouveau manchot et le degré de certitude du modèle, en pourcentage.
Pour une colonie située à une autre station :
Test accuracy: 0.960 (72 of 75 penguins)
New penguin: Gentoo (86% sure)et sa matrice :
Ensuite, Coddy affiche ton résultat. La star de Meet the Penguins mesurait 47.2, 18.0, 194 et 3650, à Dream, femelle. Lance ton programme avec elle : qui est-elle ?
Essayez vous-même
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
# La colonie de Meet the Penguins, ses caractéristiques et son étiquette
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)
# De Prepare the Data : les deux branches
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)])
# De Choose a Model and Tune the Winner : k-NN avec k = 7
model = make_pipeline(prep, KNeighborsClassifier(n_neighbors=7))
# Un nouveau manchot observé sur le terrain, sous forme de tableau d’une ligne avec les mêmes colonnes
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")
# Écrivez votre code ci-dessous
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Apprentissage supervisé
1Votre premier modèle
Apprendre à partir d’exemplesJeux d’entraînement et de testAjuster et prédireÉvaluer un modèleRécapitulatif : trieur de graines4Régression logistique
Prédictions oui ou nonLe seuil de décisionLes poids comme indicesPlusieurs classesRécapitulatif : filtre anti-spam2Plus proches voisins
Comment k-NN prend ses décisionsChoisir kFrontières de décisionMettre les voisins à l’échelleRécapitulatif : voisins et vin5Évaluer les classificateurs
La matrice de confusionPrécision et rappelLe score F1Classes déséquilibréesCourbes ROCRécapitulatif : test de dépistage8Validation croisée
Validation K-foldComparer les modèles équitablementRecherche par grilleRécapitulatif : réparations de skateboard11Projet : espèces de manchots
À la rencontre des manchotsPréparer les donnéesChoisir un modèleOptimiser le modèle gagnantDéployer le modèle3Régression linéaire
Prédire des nombresPlusieurs caractéristiquesMesurer les erreursGraphiques des résidusRécapitulatif : locations de vélos6Arbres de décision
Les arbres posent des questionsLire un arbreProfondeur de l’arbreImportance des caractéristiquesRécapitulatif : décisions de prêtEntraînez-vous par vous-même : Compilateur Python en ligne