Validation K-fold
Fait partie de la section Apprentissage supervisé du Journey Machine Learning de Coddy. Leçon 37 sur 58.
Ce chapitre rend vos scores fiables. À la fin, vous réglerez un modèle à l’aide de graphiques comme celui-ci :
Un seul découpage de test peut tomber juste. La validation croisée K-fold répartit les lignes en plis, ici 5, et teste tour à tour sur chaque pli, en entraînant le modèle sur les autres :
Un seul appel exécute les cinq, ici pour un arbre sur les fleurs d’iris :
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}")Cela affiche :
[0.967 0.967 0.9 0.967 1. ]
0.960 0.033Indiquez la moyenne comme score, et l’écart-type comme mesure de sa variabilité.
Défi
MoyenUne brasserie de kombucha prédit les lots avariés à partir de 5 mesures de laboratoire. À quel point son modèle est-il stable ? Le programme lit le nombre de plis ; le code de départ génère les données et le modèle.
- Évalue le modèle par validation croisée avec ce nombre de plis.
- Affiche la précision de chaque pli, puis la moyenne et l’écart-type, le tout avec 3 décimales.
- Affiche le numéro du pli le plus faible, en commençant à 1.
Pour d’autres lots et 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: 3Essayez vous-même
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())
# Ne modifiez pas les lignes ci-dessous : 240 lots de kombucha, 5 mesures de laboratoire chacun ; l’étiquette 1 signifie que le lot est avarié
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)
# É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