Évaluer un modèle
Fait partie de la section Apprentissage supervisé du Journey Machine Learning de Coddy. Leçon 4 sur 58.
Un modèle est-il bon ? Son exactitude, la proportion de lignes de test pour lesquelles il donne la bonne réponse, nous le dit. Compare-la à une prédiction paresseuse :
78 % des prêts de cette bibliothèque sont revenus à temps ; répondre à temps à chaque fois donne donc un score de 0.78. C’est la référence de base.
from sklearn.metrics import accuracy_score
pred = model.predict(X_test)
print(accuracy_score(y_test, pred))
print(model.score(X_test, y_test))
common = y_train.value_counts().index[0]
print((y_test == common).mean())Cela affiche 0.88, 0.88, 0.78. score prédit et compte en un seul appel ; la ligne de base répond toujours avec l’étiquette d’entraînement la plus fréquente.
Un modèle ne mérite sa place que s’il dépasse la référence.
Défi
FacileLes capteurs d'une apicultrice surveillent 160 ruches dans hives.csv ; swarm indique si chaque ruche a essaimé. Un capteur peut-il l'avertir ? Le code de départ lit le nom d'un capteur et ajuste un modèle à partir de ce seul capteur.
- Affichez la précision du modèle sur les données de test, arrondie à 3 décimales.
- Affichez la référence, en nommant l'étiquette qu'elle prédit toujours.
- Affichez si le modèle fait mieux que cette référence.
Pour un autre rucher et weight_change_kg :
Model on weight_change_kg: 0.775
Always "no": 0.7
Beats the baseline: yesEssayez vous-même
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
# Une ligne par ruche : ses capteurs et si elle a essaimé
hives = pd.read_csv("hives.csv")
sensor = input()
X = hives[[sensor]]
y = hives["swarm"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
model = KNeighborsClassifier()
model.fit(X_train, y_train)
# É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