В этой статье мы будем обучать модель, которая распознает рукописные цифры, используя scikit-learn и машины опорных векторов.

Импорт scikit-learn, так как он содержит набор данных.

импортировать sklearn

Импорт требуемого набора данных: рукописный набор данных присутствует в sklearn в модуле наборов данных. Мы также можем использовать набор данных, доступный на kaggle или любой другой платформе, но для простоты мы использовали этот набор данных.

из наборов данных импорта sklearn

данные = наборы данных.load_digits()

Набор данных состоит из двух частей, одна из которых содержит изображения, а другая имеет метки. data.images содержит все изображения, а data.target содержит все метки. Давайте посмотрим, сколько изображений у нас есть.

печать (длина (данные. изображения))

печать (длина (данные.цель))

Давайте дадим имена нашему набору данных в виде изображений и меток.

изображения = данные.изображения

метки = data.target

Переформирование изображений.

images = images.reshape((images.shape[0], -1))

изображения.форма

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

импортировать matplotlib.pyplot как plt

plt.gray()

imgplot = plt.imshow (данные. изображения [0])

печать («метка:», data.target[0])

plt.show()

импорт SVM

из sklearn импортировать svm

модель = svm.SVC (гамма = 0,001)

разделение данных на поезд и тестовый набор

из sklearn.model_selection импорта train_test_split

X_train, X_test, y_train, y_test = train_test_split (изображения, метки, test_size = 0,33, random_state = 42)

давайте подгоним нашу модель

model.fit(X_train, y_train)

Давайте проверим точность обучения и посмотрим, как наша модель работает с данными обучения:

оценка = model.score (X_test, y_test)

Это даст → 0,98989898989899

Вау! это дает 98,989% точности.

Давайте визуализируем вывод вместе с его меткой.

plt.gray()

test_img = X_test[8].reshape(8,8)

imgplot = plt.imshow (test_img)

печать («метка:», y_test[8])

plt.show()

т = X_test[5].reshape(1,-1)

пред = модель.предсказать(т)

печать («предсказание:», пред)

Ясно, что он распознает рукописные 5…

Мы также можем попробовать другие модели, которые могут дать большую точность.

Итак, это конец нашей простейшей модели.

вот ссылка на мой репозиторий Github, содержащий файл ipynb: -

https://github.com/Kartik-Khandelwal/HandwritingDigitRecognizer

Я благодарен наставникам на https://internship.suvenconsultants.com за отличные формулировки задач и предоставление многим из нас опыта стажировки по программированию. Спасибо www.suvenconsultants.com за предоставленную такую ​​возможность.