Conjunto de datos MNIST en Python – Importación básica y trazado

Bienvenidos a este tutorial sobre el conjunto de datos MNIST. En este tutorial, aprenderemos qué es el conjunto de datos MNIST, cómo importarlo en Python y cómo trazarlo usando matplotlib.

¿Qué es el conjunto de datos MNIST?

MNIST es una gran colección de dígitos escritos a mano. Es un conjunto de datos muy popular en el campo del procesamiento de imágenes. A menudo se utiliza para la evaluación comparativa de algoritmos de aprendizaje automático.

MNIST es la abreviatura de Base de datos modificada del Instituto Nacional de Estándares y Tecnología.

MNIST contiene una colección de 70,000 imágenes de 28 x 28 de dígitos escritos a mano del 0 al 9.

El conjunto de datos ya está dividido en conjuntos de entrenamiento y prueba. Veremos esto más adelante en el tutorial.

Para más información sobre MNIST, consulta su página de Wikipedia. Vamos a importar el conjunto de datos desde Keras.

Comencemos cargando el conjunto de datos en nuestro cuaderno de Python.

Cargando MNIST desde Keras

Primero, importaremos el conjunto de datos MNIST desde el módulo Keras.

Podemos hacerlo con la siguiente línea de código:

from keras.datasets import mnist

Ahora cargaremos los conjuntos de entrenamiento y prueba en variables separadas.

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

Vamos a averiguar cuántas imágenes hay en los conjuntos de entrenamiento y prueba. En otras palabras, intentemos conocer la proporción de división de este conjunto de datos.

Para obtener más información sobre la proporción de división, consulta este tutorial sobre cómo dividir datos en conjuntos de entrenamiento y prueba.

Para encontrar la proporción de división, vamos a imprimir las formas de todos los vectores.

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

Salida:

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

Podemos ver que hay 60,000 imágenes en el conjunto de entrenamiento y 10,000 imágenes en el conjunto de prueba.

La dimensión de nuestro vector de entrenamiento es (60000, 28, 28), esto se debe a que hay 60,000 imágenes en escala de grises con la dimensión 28X28.

Código completo para cargar el conjunto de datos MNIST

Aquí está el código completo de esta sección:

from keras.datasets import mnist

#cargando el conjunto de datos
(train_X, train_y), (test_X, test_y) = mnist.load_data()

#imprimiendo las formas de los vectores
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))

Vamos a aprender cómo trazar este conjunto de datos.

Tracing el conjunto de datos MNIST usando matplotlib

Siempre es una buena idea trazar el conjunto de datos en el que estás trabajando. Te dará una buena idea sobre el tipo de datos con los que estás tratando.

Como científico de datos responsable, debería ser tu deber trazar siempre el conjunto de datos como paso cero.

Para trazar el conjunto de datos, utiliza el siguiente fragmento de código:

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

Resultado:

MNIST Data Plotted

¡Así es como se ve nuestros datos!

Imagina 70,000 imágenes como estas. Eso es lo que hay dentro del conjunto de datos. Ser tan voluminoso es una de las razones de la popularidad del conjunto de datos.

El problema del reconocimiento de escritura, por trivial que sea, está desactualizado ahora. Había una necesidad de una versión más desafiante del conjunto de datos MNSIT que pudiera actuar como su reemplazo.

¿Existe una versión más desafiante del conjunto de datos MNIST por ahí?

Sí, la hay. El conjunto de datos Fashion MNIST.

Conjunto de datos Fashion MNIST

El conjunto de datos Fashion MNIST es un reemplazo más desafiante para el antiguo conjunto de datos MNIST.

Este conjunto de datos contiene 70,000 imágenes pequeñas en escala de grises de 28×28 píxeles de artículos de 10 tipos de ropa, como zapatos, camisetas, vestidos y más.

Para aprender cómo importar y trazar el conjunto de datos Fashion MNIST, lee este tutorial.

Conclusión

Este tutorial trató sobre la importación y representación gráfica del conjunto de datos MNIST en Python. También discutimos un reemplazo más desafiante de este conjunto de datos, el conjunto Fashion MNIST. ¡Esperamos que te divirtieras aprendiendo con nosotros!

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