Chiffres manuscrits
Fait partie de la section Apprentissage supervisé du Journey Machine Learning de Coddy. Leçon 57 sur 58.
La machine de tri d’un bureau de poste lit les chiffres manuscrits des codes postaux à partir des scans de 8 × 8 que tu as découverts dans « Les chiffres en un coup d’œil », load_digits :
Deux candidats veulent le poste : k-NN, avec le k suggéré par un ingénieur, et une forêt aléatoire de 100 arbres.
Cette fois, les erreurs comptent. Le bureau a besoin du candidat le plus équitable, de son score sur des scans inédits et de sa confusion la plus fréquente : ces chiffres sont donc transmis à une personne.
Défi
DifficileLe programme lit le k de l’ingénieur ; le code de départ configure un graphique avec un titre.
- Réserve un quart stratifié pour le test,
random_state=0. - Effectue une validation croisée de k-NN avec ce
ket d’une forêt de 100 arbres (random_state=0), avec 5 plis, sur les lignes d’entraînement. Affiche chaque moyenne (3 décimales) et le gagnant. - Entraîne le gagnant et affiche sa précision sur les données de test.
- Affiche l’erreur la plus fréquente dans la matrice de confusion des données de test, puis dessine la matrice sur
axet l’affiche.
Pour une autre machine et 3 :
k-NN: CV accuracy 0.979
Random forest: CV accuracy 0.968
Winner: k-NN
Test accuracy: 0.976
Most confused: 7 read as 2 (3 times)Ensuite, Coddy affiche ta matrice.
Essayez vous-même
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.neighbors import KNeighborsClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay
digits = load_digits()
X = digits.data
y = digits.target
k = int(input())
fig, ax = plt.subplots()
ax.set_title("Test Digits")
# É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