Что такое набор данных MNIST?
База данных MNIST, альтернативно известная как смешанный Национальный институт стандартов и технологических данных. Это коллекция набора данных больших изображений (70K -изображения), обычно используемых для тестирования алгоритмов классификации машинного обучения.
Каждое изображение написано от руки, хорошо помечено и составляет 28 х 28 пикселей.
Набор данных MNIST является надежным источником для запуска задачи классификации изображений.
Предварительные условия:
Ниже приведены основы для этого поста:
- Элементарные знания питона
- Фундаментальные знания машинного обучения.
- Любая идея вашего предпочтения (Pycharm предпочтительнее.)
Начиная
Чтобы начать, сначала загрузите набор данных.
""" Classification algorithm on MNIST dataset """ from sklearn.datasets import fetch_openml import matplotlib.pyplot as plt # To download the data mnist_data = fetch_openml('mnist_784')
Выполните программу для загрузки набора данных по адресу $ home/scikit_learn_data/.
Разарзание файла $ Home/scikit_learn_data/openml/openml.org/api/v1/json/data/features/554.gz , чтобы просмотреть данные о функциях.
Чтобы распечатать длину «mnis_data» переменной печати (len (mnist_data)).
print(len(mnist_data))
Вышеуказанное будет печатать «9» на экране. Это означает, что MNIST_DATA имеет 9 ключей для каждого изображения. Печатать ключи
print(mnist_data.keys())
Выполнив программу, вы увидите следующий вывод на экране.
dict_keys(['data', 'target', 'frame', 'feature_names', 'target_names', 'DESCR', 'details', 'categories', 'url'])
Последующая задача состоит в том, чтобы разделить данные и цель.
def get_mnis_data__and_target(): return mnist_data['data'], mnist_data['target'] x, y = get_mnis_data_and_target()
На данный момент мы успешно загрузили набор данных и отделили данные и цель. Прежде чем продолжить, мы хотим увидеть, что у нас есть в данных. Как выглядит рукописное изображение?
Перейти на IDE и добавьте следующее:
# Shape of x print(x.shape)
(70000, 784)
70 000 указывает общее количество наборов данных, а 784 представляет отличительную особенность каждого изображения. Если вы помните, в более раннем разделе изображение набора данных MNIST было помечено 28 x 28 видимыми пикселями, равным 784.
Последующий шаг – импортировать Matplotlib и случайный наверху вверху
Случайный – это генерировать случайное число. Мы используем его, чтобы сгенерировать его случайное число. И в Matplotlib мы используем imshow () Функция для отображения изображения на экране.
import matplotlib.pyplot as plt import random # Generates the random number between 0 and 70,000 index = random.randint(0, 70000) print("Index is: " + str(index)) random_digit = x[index] random_digit_image = random_digit.reshape(28, 28) plt.imshow(random_digit_image) plt.axis('off') plt.show()
Выполните вышеуказанную программу, а случайное изображение отображается на экране.
В следующем уроке мы узнаем больше об обучении данных MNIST.
Оригинал: “https://dev.to/akuks/mnist-dataset-analysis-part-1-5enm”