Introduction
Ce laboratoire est un tutoriel étape par étape sur la manière d'utiliser des techniques de classification sur le jeu de données Digits à l'aide de scikit-learn. Dans ce laboratoire, nous allons charger le jeu de données, prétraiter les données, diviser le jeu de données en ensembles d'entraînement et de test, puis utiliser deux techniques de classification différentes (K Plus Proches Voisins et Régression Logistique) pour classifier les chiffres. Enfin, nous comparerons la précision des deux techniques.
Conseils sur la VM
Une fois le démarrage de la VM terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour la pratique.
Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limites de Jupyter Notebook.
Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez des commentaires après la session, et nous réglerons rapidement le problème pour vous.
Charger le jeu de données Digits
Nous allons commencer par charger le jeu de données Digits à l'aide de la fonction load_digits de scikit-learn. Cette fonction renvoie deux tableaux : X_digits contenant les données d'entrée et y_digits contenant les étiquettes cibles.
from sklearn import datasets
X_digits, y_digits = datasets.load_digits(return_X_y=True)
Prétraiter les données
Nous allons ensuite prétraiter les données en mettant à l'échelle les caractéristiques dans une plage de [0, 1] en utilisant la valeur maximale des données. Cela peut être fait en divisant les données d'entrée par la valeur maximale des données d'entrée.
X_digits = X_digits / X_digits.max()
Diviser le jeu de données en ensembles d'entraînement et de test
Ensuite, nous allons diviser le jeu de données en ensembles d'entraînement et de test à l'aide de la fonction train_test_split de scikit-learn. Nous utiliserons 90 % des données pour l'entraînement et 10 % pour les tests.
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X_digits, y_digits, test_size=0.1, random_state=42)
Entraîner et tester le classifieur K Plus Proches Voisins
Nous allons maintenant entraîner un classifieur K Plus Proches Voisins (KNN) à l'aide de la fonction KNeighborsClassifier de scikit-learn et le tester sur l'ensemble de test. Nous allons ensuite afficher le score de précision du classifieur.
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier()
knn.fit(X_train, y_train)
knn_score = knn.score(X_test, y_test)
print("KNN score: %f" % knn_score)
Entraîner et tester le classifieur de Régression Logistique
Nous allons maintenant entraîner un classifieur de Régression Logistique à l'aide de la fonction LogisticRegression de scikit-learn et le tester sur l'ensemble de test. Nous allons ensuite afficher le score de précision du classifieur.
from sklearn.linear_model import LogisticRegression
logistic = LogisticRegression(max_iter=1000)
logistic.fit(X_train, y_train)
logistic_score = logistic.score(X_test, y_test)
print("Logistic Regression score: %f" % logistic_score)
#Comparer la précision des deux classifieurs
Enfin, nous allons comparer la précision des deux classifieurs en affichant les scores de précision des deux classifieurs.
print("KNN score: %f" % knn_score)
print("Logistic Regression score: %f" % logistic_score)
Sommaire
Dans ce laboratoire, nous avons appris à utiliser des techniques de classification sur le jeu de données Digits à l'aide de scikit-learn. Nous avons chargé le jeu de données, prétraité les données, divisé le jeu de données en ensembles d'entraînement et de test, puis entraîné et testé deux classifieurs différents (K Plus Proches Voisins et Régression Logistique) sur l'ensemble de test. Enfin, nous avons comparé la précision des deux classifieurs.