DevGang
Авторизоваться

Набор данных MNIST в Python - базовый импорт и построение 

Добро пожаловать в этот учебник по набору данных MNIST. В этом руководстве мы узнаем, что такое набор данных MNIST, как импортировать его в Python и как построить его с помощью matplotlib.

Что такое набор данных MNIST?

Набор MNIST - это большая коллекция рукописных цифр. Это очень популярный набор данных в области обработки изображений. Он часто используется для тестирования алгоритмов машинного обучения.

MNIST - это сокращение от модифицированной базы данных Национального института стандартов и технологий.

MNIST содержит коллекцию из  70 000 изображений 28 x 28  рукописных цифр от  0 до 9.

Набор данных уже разделен на наборы для обучения и тестирования. Мы увидим это позже в руководстве.

Дополнительные сведения о MNIST на его странице в Википедии. Мы собираемся импортировать набор данных из Keras.

Начнем с загрузки набора данных в наш блокнот на Python.

Загрузка MNIST из Keras

Сначала нам нужно импортировать набор данных MNIST из модуля Keras.

Мы можем сделать это, используя следующую строку кода:

from keras.datasets import mnist

Теперь загрузим обучающий и тестовый наборы в отдельные переменные.

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

Давайте узнаем, сколько изображений есть в обучающем и тестовом наборах. Другими словами, давайте попробуем выяснить коэффициент разделения этого набора данных.

Чтобы найти коэффициент разделения, мы собираемся распечатать формы всех векторов.

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

Результат:

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

Мы видим, что в обучающей выборке 60 тысяч изображений, а в тестовой - 10 тысяч.

Размерность нашего обучающего вектора составляет (60000, 28, 28), это потому, что имеется 60 000 изображений в градациях серого с размером 28X28.

Полный код для загрузки набора данных MNIST

Вот полный код из этого раздела:

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

Давайте узнаем, как построить этот набор данных.

Построение набора данных MNIST с использованием matplotlib

Всегда полезно построить график набора данных, над которым вы работаете. Это даст вам хорошее представление о том, с какими данными вы имеете дело.

Как ответственный специалист по данным, вы должны всегда строить набор данных как нулевой шаг.

Чтобы построить набор данных, используйте следующий фрагмент кода:

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

Результат:

Вот как выглядят наши данные!

Представьте себе 70 000 изображений, подобных этим. Это то, что находится внутри набора данных. Большой объем - одна из причин популярности набора данных.

Проблема распознавания почерка, сколь бы банальной она ни была, сейчас устарела. Возникла потребность в более сложной версии набора данных MNSIT, которая могла бы служить его заменой.

Есть ли более сложная версия набора данных MNIST?

Да, есть. Набор данных Fashion MNIST.

Источник:

#Python #Matplotlib
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.

Попробовать

Оплатив хостинг 25$ в подарок вы получите 100$ на счет

Получить