Website-Suche

MNIST-Datensatz in Python - Grundlagen des Imports und der Darstellung


Willkommen zu diesem Tutorial über das MNIST-Dataset. In diesem Tutorial werden wir lernen, was das MNIST-Dataset ist, wie man es in Python importiert und wie man es mit matplotlib darstellt.

Was ist der MNIST-Datensatz?

Der MNIST-Datensatz ist eine große Sammlung von handgeschriebenen Ziffern. Es ist ein sehr beliebter Datensatz im Bereich der Bildverarbeitung. Er wird häufig verwendet, um maschinelle Lernalgorithmen zu benchmarken.

MNIST ist die Abkürzung für Modified National Institute of Standards and Technology-Datenbank.

MNIST 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 Testsätze unterteilt. Wir werden dies später im Tutorial sehen.

Für weitere Informationen über MNIST, siehe die Wikipedia-Seite dazu. Wir werden den Datensatz von Keras importieren.

Lass uns beginnen, indem wir den Datensatz in unser Python-Notebook laden.

Laden von MNIST aus Keras

Zunächst müssen wir das MNIST-Datensatz aus dem Keras-Modul importieren.

Wir können das mit der folgenden Codezeile tun:

from keras.datasets import mnist

Jetzt werden wir die Trainings- und Testdatensätze in separate Variablen laden.

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

Lass uns herausfinden, wie viele Bilder es in den Trainings- und Testdatensätzen gibt. Mit anderen Worten, lass uns versuchen, das Verhältnis der Aufteilung dieses Datensatzes herauszufinden.

Um mehr über das Teilungsverhältnis zu erfahren, beziehen Sie sich auf dieses Tutorial, wie man Daten in Trainings- und Testsets aufteilt.

Um das Split-Verhältnis zu finden, werden wir die Formen aller Vektoren ausdrucken.

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 können sehen, dass es 60.000 Bilder im Trainingssatz und 10.000 Bilder im Testsatz. gibt.

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

Vollständiger Code zum Laden des MNIST-Datensatzes

Hier ist der komplette Code aus diesem Abschnitt:

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

Lass uns lernen, wie man dieses Dataset plottet.

Die MNIST-Datenbank mit Matplotlib darstellen

Es ist immer eine gute Idee, den Datensatz, an dem Sie arbeiten, zu visualisieren. Es gibt Ihnen eine gute Vorstellung davon, mit welcher Art von Daten Sie es zu tun haben.

Als verantwortungsbewusster Data Scientist sollte es Ihre Pflicht sein, den Datensatz immer als ersten Schritt darzustellen.

Um das Datensatz zu plotten, verwenden Sie 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-Daten dargestellt

So sieht unsere Daten aus!

Stellen Sie sich 70.000 Bilder genau wie diese vor. Das steckt im Datensatz. So umfangreich zu sein, ist einer der Gründe für die Beliebtheit des Datensatzes.

Das Problem der Handschriftenerkennung, egal wie trivial es auch sein mag, ist jetzt veraltet. Es gab die Notwendigkeit für eine herausforderndere Version des MNIST-Datensatzes, die als dessen Ersatz dienen könnte.

Gibt es eine herausforderndere Version des MNIST-Datensatzes?

Ja, das gibt es. Das Fashion MNIST Datenset.

Fashion MNIST-Datensatz

Der Fashion-MNIST-Datensatz ist ein herausfordernderer Ersatz für den alten MNIST-Datensatz.

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

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

Schlussfolgerung

Dieses Tutorial handelte von der Einfuhr und dem Plotten des MNIST-Datensatzes in Python. Wir haben auch eine anspruchsvollere Alternative zu diesem Datensatz, den Fashion MNIST-Datensatz, besprochen. Hoffentlich hatten Sie Spaß beim Lernen mit uns!