Conjunto de Dados MNIST em Python – Importação Básica e Plotagem

Bem-vindo a este tutorial sobre o conjunto de dados MNIST. Neste tutorial, vamos aprender o que é o conjunto de dados MNIST, como importá-lo no Python e como plotá-lo usando o matplotlib.

O que é o conjunto de dados MNIST?

O conjunto de dados MNIST é uma grande coleção de dígitos escritos à mão. É um conjunto de dados muito popular no campo do processamento de imagens. É frequentemente usado para avaliar algoritmos de aprendizado de máquina.

MNIST é a abreviação de Banco de dados do Instituto Nacional de Padrões e Tecnologia Modificado.

O MNIST contém uma coleção de 70.000 imagens de dígitos escritos à mão, com tamanho 28 x 28, variando de 0 a 9.

O conjunto de dados já está dividido em conjuntos de treinamento e teste. Veremos isso mais adiante no tutorial.

Para obter mais informações sobre o MNIST, consulte sua página na Wikipedia. Vamos importar o conjunto de dados do Keras.

Vamos começar carregando o conjunto de dados em nosso notebook Python.

Carregando o MNIST do Keras

Vamos primeiro importar o conjunto de dados MNIST do módulo Keras.

Podemos fazer isso usando a seguinte linha de código:

from keras.datasets import mnist

Agora vamos carregar os conjuntos de treinamento e teste em variáveis separadas.

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

Vamos descobrir quantas imagens existem nos conjuntos de treinamento e teste. Em outras palavras, vamos tentar descobrir a proporção de divisão deste conjunto de dados.

Para saber mais sobre a proporção de divisão, consulte este tutorial sobre como dividir os dados em conjuntos de treinamento e teste.

Para encontrar a proporção de divisão, vamos imprimir as formas de todos os vetores.

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

Saída:

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

Podemos ver que há 60 mil imagens no conjunto de treinamento e 10 mil imagens no conjunto de teste.

A dimensão do nosso vetor de treinamento é (60000, 28, 28), isso ocorre porque há 60.000 imagens em escala de cinza com dimensão 28X28.

Código Completo para Carregar o Conjunto de Dados MNIST

Aqui está o código completo desta seção:

from keras.datasets import mnist

#carregando o conjunto de dados
(train_X, train_y), (test_X, test_y) = mnist.load_data()

#imprimindo as formas dos vetores 
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 aprender como plotar este conjunto de dados.

Plotando o conjunto de dados MNIST usando matplotlib

É sempre uma boa ideia plotar o conjunto de dados com o qual você está trabalhando. Isso lhe dará uma boa ideia sobre o tipo de dados com o qual está lidando.

Como um cientista de dados responsável, deve ser seu dever sempre plotar o conjunto de dados como passo zero.

Para plotar o conjunto de dados, use o seguinte trecho 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()

Saída:

MNIST Data Plotted

É assim que nossos dados se parecem!

Imagine 70.000 imagens como essas. Isso é o que está dentro do conjunto de dados. Sua volumosidade é uma das razões para a popularidade do conjunto de dados.

O problema do reconhecimento de caligrafia, por mais trivial que seja, está desatualizado agora. Havia a necessidade de uma versão mais desafiadora do conjunto de dados MNSIT que pudesse atuar como sua substituição.

Existe uma versão mais desafiadora do conjunto de dados MNIST por aí?

Sim, existe. O conjunto de dados Fashion MNIST.

Conjunto de dados Fashion MNIST

O conjunto de dados Fashion MNIST é uma substituição mais desafiadora para o antigo conjunto de dados MNIST.

Este conjunto de dados contém 70.000 pequenas imagens quadradas 28×28 pixels em tons de cinza de itens de 10 tipos de roupas, como sapatos, camisetas, vestidos e muito mais.

Para aprender como importar e plotar o conjunto de dados Fashion MNIST, leia este tutorial.

Conclusão

Este tutorial foi sobre importar e plotar o conjunto de dados MNIST em Python. Também discutimos uma substituição mais desafiadora deste conjunto de dados, o conjunto Fashion MNIST. Espero que você tenha se divertido aprendendo conosco!

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