MNIST набор от данни в Python – Основно импортиране и начертаване

MNIST Набор от данни в Python – Основно импортиране и начертаване

Въведение

MNIST е емблематичен набор от данни за разпознаване на ръкописен текст, който се използва широко за обучение и валидиране на модели за машинно обучение. Съдържа 70 000 ръкописни цифри, разделени на 60 000 тренировъчни и 10 000 тестови образци. Всяко изображение представлява 28×28 пиксела сива скала и е етикетирано с правилната цифра.

Този набор от данни е ценен инструмент за изучаване на различни алгоритми за машинно обучение, включително класификация, регресия и клъстериране. Неговата популярност се дължи на неговия сравнително малък размер, лесна наличност и обяснени етикети, които го правят подходящ за начинаещи и експерти.

Импортиране на MNIST Данни

За да започнете работа с MNIST в Python, първо трябва да импортирате необходимите библиотеки. Най-често срещаната библиотека за зареждане и манипулиране на набори от данни е tensorflow.keras.

python
import tensorflow as tf

След това можете да заредите MNIST данните с помощта на tf.keras.datasets.mnist.load_data(). Тази функция връща два тюпъл, първият съдържа тренировъчните данни, а вторият – тестовите данни.

  Как вашият iPhone скоро може да замени ключовете ви за кола

python
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()

Забележка: Променливата x представлява изображенията, а променливата y – съответните етикети.

Изследване на MNIST Данни

След като сте импортирали данните, можете да ги изследвате, за да разберете по-добре техните характеристики. Можете да използвате функцията shape() за да проверите размерите на данните.

python
print(x_train.shape, y_train.shape)
print(x_test.shape, y_test.shape)

Изходът от тази команда трябва да е подобен на:


(60000, 28, 28) (60000,)
(10000, 28, 28) (10000,)

Това показва, че имаме 60 000 тренировъчни и 10 000 тестови изображения, като всяко изображение има размер 28×28 пиксела.

Можете също така да визуализирате някои от изображенията, за да добиете представа как изглеждат.

python
import matplotlib.pyplot as plt

plt.figure(figsize=(10,10))
for i in range(25):
plt.subplot(5,5,i+1)
plt.imshow(x_train[i], cmap=plt.cm.binary)
plt.title(y_train[i])
plt.show()

Начертаване на MNIST Данни

Веднъж след като сте изследвали данните, можете да започнете да ги начертавате. Това може да се направи с помощта на библиотеката matplotlib.

За да начертаете всички изображения от тренировъчния комплект, можете да използвате следния код:

python
import matplotlib.pyplot as plt

plt.figure(figsize=(20,20))
for i in range(60000):
plt.subplot(600, 100, i+1)
plt.imshow(x_train[i], cmap=plt.cm.binary)
plt.title(y_train[i])
plt.show()

Можете също така да начертаете отделни изображения с помощта на plt.imshow(). Например, за да начертаете първото изображение от тренировъчния комплект, можете да използвате:

python
plt.imshow(x_train[0], cmap=plt.cm.binary)
plt.title(y_train[0])
plt.show()

Заключение

MNIST е ценен набор от данни за машинно обучение, който се използва широко за обучение и валидиране на модели за класификация. Импортирането и начертаването на тези данни в Python е относително лесна задача, която може да бъде изпълнена с помощта на библиотеката tensorflow.keras. Изследването и визуализацията на тези данни са от съществено значение за разбирането на техните характеристики и за проектирането на ефективни модели за машинно обучение.

Често задавани въпроси

1. Как се разделят данните в MNIST набора от данни?
MNIST данните се разделят на 60 000 тренировъчни и 10 000 тестови изображения.

2. Какви са размерите на всяко изображение в MNIST набора от данни?
Всяко изображение в MNIST набора от данни е с размер 28×28 пиксела.

3. Какъв е форматът на данните в MNIST набора от данни?
Изображенията в MNIST набора от данни са в сива скала и се съхраняват в целочислен формат от 0 до 255.

4. Как да импортирам MNIST данните в Python?
Можете да импортирате MNIST данните в Python с помощта на tf.keras.datasets.mnist.load_data().

5. Как да начертая MNIST изображения в Python?
Можете да начертаете MNIST изображения в Python с помощта на библиотеката matplotlib.

6. Къде мога да намеря повече информация за MNIST набора от данни?
Можете да намерите повече информация за MNIST набора от данни на уебсайта на Yann LeCun: yann.lecun.com/exdb/mnist.

7. Как да използвам MNIST набора от данни за обучение на модели за машинно обучение?
Можете да използвате MNIST набора от данни за обучение на модели за машинно обучение чрез зареждане на данните в рамка за машинно обучение като TensorFlow или PyTorch, след което дефиниране и обучение на модел за класификация.

8. Какви са някои от предизвикателствата при използването на MNIST набора от данни?
Едно от предизвикателствата при използването на MNIST набора от данни е, че той е сравнително малък и може да бъде недостатъчен за обучение на сложни модели за машинно обучение. Освен това, MNIST данните са ръкописни, което може да доведе до грешки при класификация.