Menu
CoddyTech

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 :

Matrice de confusion de 3 × 3 du modèle d’une clinique sur 60 patients de test, en bonne santé, enrhumés et grippés : la diagonale contient 20, 14 et 17 réponses correctes, et 5 patients enrhumés ont été classés comme grippés

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.

challenge icon

Défi

Moyen

La ligne d’arrivée. model est ton pipeline ajusté ; le code de départ lit un nouveau manchot dans new_penguin.

  1. 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.
  2. Trace la matrice de confusion des prédictions sur les données de test sur ax, puis affiche-la.
  3. 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 :

Matrice de confusion intitulée Test Penguins pour une autre station : 29 Adelie, 16 Chinstrap et 27 Gentoo correctement identifiés, 1 Adelie appelé Chinstrap et 2 Chinstrap appelés Adelie

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
quiz iconTestez-vous

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é

Entraînez-vous par vous-même : Compilateur Python en ligne