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

В этой статье мы будем использовать набор данных Digit из Scikit-Learn.

Scikit-Learn – это библиотека для Python, содержащая множество полезных алгоритмов, которые можно легко реализовать и изменить для классификации и других задач машинного обучения.
Вы можете обратиться к документация по Scikit-Learnпо указанной ссылке:
https://scikit-learn.org/stable/

В этом случае полезно использовать средство оценки sklearn.svm.SVC, в котором используется метод Классификация опорных векторов (SVC).

Для этой задачи можно использовать Jupyter Notebook или Google Colab.

Реализация

  1. Импорт основных библиотек Python:
    Библиотеки Python, которые мы будем использовать: Pandas, Numpy, sklearn, Matplotlib
    Импортируются следующим образом:

2.Загрузка наборов данных и определение их формы:

3.Получение изображения данных в градациях серого с использованием библиотеки matplotlib:
Здесь я буду отображать только 6 изображений. Но вы можете отображать столько, сколько хотите

Вывод приведенного выше кода будет:

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

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

Мы собираемся прогнозировать наши данные для 5 данных

Для проверки мы можем сравнить те же данные с digits.target[1791:1796]

Как мы видим, значение pred и digits.target[1791:1796] одинаково. Поэтому мы можем сказать, что наша модель имеет 100% точность.

Давайте проверим еще несколько наборов данных:

1.

2.

3.

Если вы хотите проверить точность нашей модели с помощью SVC, вы можете выполнить следующие шаги:

  1. Разделить данные на данные для обучения и тестирования с помощью train_test_split()

2. Подгонка данных под модель SVC

3.Выполнение прогнозирования данных на тестовых данных:

4. Теперь, чтобы проверить точность:

Как мы видим здесь, точность нашей модели составляет 99,33%, что, на мой взгляд, неплохо.

Спасибо, что читаете этот блог!!