MNIST-Datensatz in Python – Grundlegende Import- und Plotting-Schritte

Willkommen zu diesem Tutorial zum MNIST-Datensatz. In diesem Tutorial werden wir lernen, was der MNIST-Datensatz ist, wie man ihn in Python importiert und wie man ihn mithilfe von matplotlib darstellt.

Was ist der MNIST-Datensatz?

Der MNIST-Datensatz ist eine große Sammlung von handgeschriebenen Ziffern. Er ist ein sehr beliebter Datensatz auf dem Gebiet der Bildverarbeitung. Er wird oft verwendet, um maschinelle Lernalgorithmen zu benchmarken.

MNIST steht kurz für Modified National Institute of Standards and Technology-Datenbank.

Der MNIST-Datensatz enthält eine Sammlung von 70.000, 28 x 28 Bildern von handgeschriebenen Ziffern von 0 bis 9.

Der Datensatz ist bereits in Trainings- und Testsets aufgeteilt. Dies werden wir später im Tutorial sehen.

Für weitere Informationen zu MNIST siehe die Wikipedia-Seite. Wir werden den Datensatz aus Keras importieren.

Beginnen wir mit dem Laden des Datensatzes in unser Python-Notebook.

Laden von MNIST aus Keras

Wir müssen zunächst den MNIST-Datensatz aus dem Keras-Modul importieren.

Das können wir mit folgendem Code machen:

from keras.datasets import mnist

Jetzt werden wir die Trainings- und Testsets in separate Variablen laden.

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

Lasst uns herausfinden, wie viele Bilder es in den Trainings- und Testsets gibt. Mit anderen Worten, lasst uns versuchen, das Aufteilungsverhältnis dieses Datensatzes herauszufinden.

Um mehr über das Aufteilungsverhältnis zu erfahren, siehe dieses Tutorial über wie man Daten in Trainings- und Testsets aufteilt.

Um das Aufteilungsverhältnis zu finden, werden wir die Formen aller Vektoren ausgeben.

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))

Ausgabe:

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

Wir sehen, dass es 60.000 Bilder im Trainingsset und 10.000 Bilder im Testset gibt.

Die Dimension unseres Trainingsvektors ist (60000, 28, 28), das liegt daran, dass es 60.000 Graustufenbilder mit der Dimension 28X28 gibt.

Vollständiger Code zum Laden des MNIST-Datensatzes

Hier ist der vollständige Code aus diesem Abschnitt:

from keras.datasets import mnist

# Laden des Datensatzes
(train_X, train_y), (test_X, test_y) = mnist.load_data()

# Drucken der Formen der Vektoren 
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))

Lass uns lernen, wie man diesen Datensatz plottet.

Plotten des MNIST-Datensatzes mit Matplotlib

Es ist immer eine gute Idee, den Datensatz, an dem du arbeitest, zu plotten. Es wird dir eine gute Vorstellung von der Art der Daten geben, mit denen du arbeitest.

Als verantwortungsbewusster Datenwissenschaftler sollte es deine Pflicht sein, den Datensatz immer als Schritt Null zu plotten.

Um den Datensatz zu plotten, verwende den folgenden Code:

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()

Ausgabe:

MNIST Data Plotted

So sieht unsere Daten aus!

Stell dir vor, es gibt 70.000 Bilder wie diese. Das ist es, was im Datensatz enthalten ist. Seine Voluminosität ist einer der Gründe für die Popularität des Datensatzes.

Das Problem der Handschrifterkennung, egal wie trivial es erscheint, ist jetzt veraltet. Es gab Bedarf an einer anspruchsvolleren Version des MNSIT-Datensatzes, die als Ersatz dienen könnte.

Gibt es eine anspruchsvollere Version des MNIST-Datensatzes?

Ja, das gibt es. Der Fashion MNIST Datensatz.

Fashion MNIST Datensatz

Der Fashion MNIST Datensatz ist eine anspruchsvollere Alternative zum alten MNIST Datensatz.

Dieser Datensatz enthält 70.000 kleine quadratische 28×28 Pixel Graustufenbilder von Gegenständen aus 10 Arten von Kleidung, wie Schuhe, T-Shirts, Kleider und mehr.

Um zu lernen, wie man den Fashion MNIST Datensatz importiert und darstellt, lesen Sie dieses Tutorial.

Fazit

Dieses Tutorial behandelte den Import und die Darstellung des MNIST Datensatzes in Python. Wir haben auch eine anspruchsvollere Alternative dieses Datensatzes besprochen, den Fashion MNIST Satz. Hoffentlich hattest du Spaß beim Lernen mit uns!

Source:
https://www.digitalocean.com/community/tutorials/mnist-dataset-in-python