Recherche de site Web

Jeu de données MNIST en Python - Importation et traçage de base


Bienvenue dans ce tutoriel sur le jeu de données MNIST. Dans ce tutoriel, nous allons apprendre ce qu'est le jeu de données MNIST, comment l'importer en Python, et comment le tracer en utilisant matplotlib.

Qu'est-ce que le jeu de données MNIST ?

Le jeu de données MNIST est une grande collection de chiffres manuscrits. C'est un ensemble de données très populaire dans le domaine du traitement d'images. Il est souvent utilisé pour évaluer des algorithmes d'apprentissage automatique.

MNIST est l'abréviation de la base de données modifiée de l'Institut national des normes et de la technologie. :

MNIST contient une collection de 70 000 images de 28 x 28 de chiffres manuscrits allant de 0 à 9.

Le jeu de données est déjà divisé en ensembles d'entraînement et de test. Nous verrons cela plus tard dans le tutoriel.

Pour plus d'informations sur MNIST, consultez sa page Wikipedia. Nous allons importer le jeu de données depuis Keras.

Commençons par charger le jeu de données dans notre notebook python.

Chargement de MNIST depuis Keras

Nous devrons d'abord importer le jeu de données MNIST du module Keras.

Nous pouvons faire cela en utilisant la ligne de code suivante :

from keras.datasets import mnist

Maintenant, nous allons charger les ensembles d'entraînement et de test dans des variables séparées.

(train_X, train_y), (test_X, test_y) = mnist.load_data()

Découvrons combien d'images il y a dans les ensembles d'entraînement et de test. En d'autres termes, essayons de déterminer le ratio de répartition de ce jeu de données.

Pour en savoir plus sur le ratio de séparation, consultez ce tutoriel sur la façon de diviser les données en ensembles d'entraînement et de test.

Pour trouver le ratio de séparation, nous allons imprimer les formes de tous les vecteurs.

print('X_train: ' + str(train_X.shape))
print('Y_train: ' + str(train_y.shape))
print('X_test:  '  + str(test_X.shape))
print('Y_test:  '  + str(test_y.shape))

Sortie :

X_train: (60000, 28, 28)
Y_train: (60000,)
X_test:  (10000, 28, 28)
Y_test:  (10000,)

Nous pouvons voir qu'il y a 60 000 images dans l'ensemble d'entraînement et 10 000 images dans l'ensemble de test.

La dimension de notre vecteur d'entraînement est (60000, 28, 28), cela est dû au fait qu'il y a 60,000 images en niveaux de gris avec la dimension 28X28.

Code complet pour charger le jeu de données MNIST

Voici le code complet de cette section :

from keras.datasets import mnist

#loading the dataset
(train_X, train_y), (test_X, test_y) = mnist.load_data()

#printing the shapes of the vectors 
print('X_train: ' + str(train_X.shape))
print('Y_train: ' + str(train_y.shape))
print('X_test:  '  + str(test_X.shape))
print('Y_test:  '  + str(test_y.shape))

Apprenons à tracer cet ensemble de données.

Tracer le jeu de données MNIST en utilisant matplotlib

Il est toujours bon de tracer le jeu de données sur lequel vous travaillez. Cela vous donnera une bonne idée du type de données avec lequel vous traitez.

En tant que data scientist responsable, il devrait être de votre devoir de toujours tracer l'ensemble de données comme première étape.

Pour tracer l'ensemble de données, utilisez le code suivant :

from matplotlib import pyplot
for i in range(9):  
pyplot.subplot(330 + 1 + i)
pyplot.imshow(train_X[i], cmap=pyplot.get_cmap('gray'))
pyplot.show()

Sortie :

Données MNIST tracées

C'est à quoi ressemblent nos données !

Imaginez 70 000 images exactement comme celles-ci. C'est ce qu'il y a dans l'ensemble de données. Être si volumineux est l'une des raisons de la popularité de l'ensemble de données.

Le problème de la reconnaissance de l'écriture manuscrite, aussi trivial soit-il, est désormais dépassé. Il y avait besoin d'une version plus difficile du dataset MNSIT qui puisse servir de remplacement.

Existe-t-il une version plus difficile du jeu de données MNIST ?

Oui, il y en a une. Le jeu de données Fashion MNIST.

jeu de données Fashion MNIST

Le jeu de données fashion MNIST est un remplacement plus difficile pour l'ancien jeu de données MNIST.

Ce jeu de données contient 70 000 petites images carrées en niveaux de gris 28×28 pixels d'articles de 10 types de vêtements, tels que des chaussures, des t-shirts, des robes, et plus encore.

Pour apprendre comment importer et tracer l'ensemble de données fashion MNIST, lisez ce tutoriel.

Conclusion

Ce tutoriel portait sur l'importation et le traçage du jeu de données MNIST en Python. Nous avons également discuté d'un ensemble de données de substitution plus difficile, le set Fashion MNIST. J'espère que vous vous êtes amusé à apprendre avec nous !