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

В этом блоге мы собираемся правильно распознавать рукописные одиночные цифры (0–9), используя набор данных digits из Scikit-Learn, , которая представляет собой библиотеку Python, содержащую множество полезных алгоритмов, которые можно легко реализовать и изменить для целей классификации и других задач машинного обучения, а также с помощью классификатора под названием Логистическая регрессия. Мы собираемся обучить машину опорных векторов, а затем будем предсказывать значения нескольких неизвестных рукописных цифр.

Набор данных Digits состоит из 1797 изображений размером 8x8 пикселей. Каждое изображение представляет собой рукописную цифру в оттенках серого.

Одна из замечательных особенностей библиотеки Scikit-Learn заключается в том, что в ней есть 4-этапный шаблон моделирования.

›Импортируйте модель, которую хотите использовать.

›Создайте экземпляр модели.

›Обучение модели на данных и сохранение информации, полученной из данных.

›Предсказание меток новых данных,
используя информацию, полученную моделью в процессе обучения.

  1. Начнем с импорта необходимых библиотек для нашей модели и загрузки набора данных цифр. Чтобы импортировать модуль svm библиотеки scikit-learn. Мы можем создать оценщик типа SVC, а затем выбрать начальную настройку, присвоив значения C и общие значения гаммы. Затем эти значения можно изменить по-другому в ходе анализа.

2. Изображения рукописных цифр содержатся в массиве digits.images. Каждый элемент этого массива представляет собой изображение, которое представлено матрицей 8x8 числовых значений, которые соответствуют шкале серого от белого со значением 0 до черного со значением 15.

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

4. Числовые значения, представленные изображениями, т. Е. Цели, содержатся в массиве digit.targets. А также набор данных - это обучающий набор, состоящий из 1797 изображений. Мы можем определить, правда ли это.

5. Визуализация изображений и меток в нашем наборе данных.

Этот набор данных содержит 1797 элементов, поэтому давайте рассмотрим первые 1791 как обучающий набор, а последние шесть будем использовать как набор проверки. Мы можем подробно увидеть эти шесть рукописных цифр с помощью библиотеки matplotlib.

6. Теперь мы обучаем оценщику svc, который мы определили ранее.

Теперь нам нужно протестировать наш оценщик, заставив его интерпретировать шесть цифр проверочного набора.

Как мы видим, оценщик svc учился правильно. Он может распознавать рукописные цифры, правильно интерпретируя все шесть цифр набора для проверки.

7. Теперь давайте посмотрим на шаблон 4-этапного моделирования Scikit-Learn.

Сначала давайте разделим наш набор данных на обучающий и тестовый наборы, чтобы убедиться, что после обучения нашей модели она может хорошо обобщаться для новых данных.

Шаг 1: импортируем модель, которую мы хотим использовать.

Шаг 2: Создание экземпляра модели.

Шаг 3: Обучение модели.

Шаг 4: Прогнозирование ярлыков новых данных и измерение эффективности нашей модели.

8. Матрица неточностей:

Матрица неточностей - это таблица, которая часто используется для оценки точности модели классификации. Мы можем использовать Seaborn или Matplotlib для построения матрицы путаницы. Мы будем использовать Seaborn для нашей матрицы путаницы.

Из этой статьи мы можем увидеть, насколько легко мы можем импортировать набор данных, построить модель с помощью Scikit-Learn, обучить модель, делать прогнозы с ее помощью и можем определить точность нашего прогноза (в нашем случае это 95,11%).

Как мы ясно видим выше, 95% наших моделей достигаемая точность составляет 100%. Следовательно, мы можем легко сделать вывод, что наша модель работает более 95% времени.