Bem-vindo a este tutorial sobre o conjunto de dados MNIST. Neste tutorial, aprenderemos o que é o conjunto de dados MNIST, como importá-lo em Python e como plotá-lo usando o matplotlib.
O que é o conjunto de dados MNIST?
O conjunto MNIST é uma grande coleção de dígitos escritos à mão. É um conjunto de dados muito popular no campo do processamento de imagens. É frequentemente utilizado para testar algoritmos de aprendizado de máquina.
MNIST é uma abreviação para 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 dimensões de 28 x 28, abrangendo os dígitos de 0 a 9.
O conjunto de dados já está dividido em conjuntos de treinamento e teste. Veremos isso mais tarde no tutorial.
Para obter mais informações sobre o MNIST, consulte sua página da Wikipedia. Vamos importar o conjunto de dados do Keras.
Comecemos carregando o conjunto de dados em nosso bloco de notas Python.
Carregando o MNIST do Keras
Primeiro, teremos que 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 carregaremos 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 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 existem 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 existem 60.000 imagens em escala de cinza com a 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 os quais está lidando.
Como um cientista de dados responsável, deve ser seu dever sempre plotar o conjunto de dados como primeiro passo.
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()
Resultado:

É assim que nossos dados se parecem!
Imagine 70.000 imagens apenas 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 escrita, por mais trivial que seja, está ultrapassado agora. Houve a necessidade de uma versão mais desafiadora do conjunto de dados MNSIT que pudesse atuar como sua substituição.
Há uma versão mais desafiadora do conjunto de dados MNIST por aí?
Sim, há. 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 em tons de cinza, em formato quadrado de 28×28 pixels, representando 10 tipos de roupas, como sapatos, camisetas, vestidos, entre outros.
Para aprender como importar e plotar o conjunto de dados Fashion MNIST, leia este tutorial.
Conclusão
Este tutorial tratou da importação e plotagem do conjunto de dados MNIST em Python. Também discutimos uma substituição mais desafiadora deste conjunto de dados, o conjunto Fashion MNIST. Espero que tenha se divertido aprendendo conosco!
Source:
https://www.digitalocean.com/community/tutorials/mnist-dataset-in-python