发布时间:2022-11-07 文章分类:编程知识 投稿人:赵颖 字号: 默认 | | 超大 打印

前言

嗨喽~大家好呀,这里是魔王呐 !

【python】机器学习算法(KNN)入门——手写数字识别

最近邻 (k Nearest Neighbors, KNN)算法是一种分类算法

1968年由Cover和Hart提出,应用场景有宁符识别、文本分类、 图像识别等领域。

手写数字识别是一个经典的机器学习问题,通过识别手写体图片来判断数字

因为数字类别是0——9,所以是十分类问题

那今天博主就来教大家探索手写数字的识别

环境使用:

第三方模块使用:

如何安装python第三方模块:

  1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车
  2. pycharm中点击Terminal(终端) 输入安装命令

代码展示

from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt

加载数据

digits = load_digits()
data = digits.data

  

数据探索

data里面每个元素代表一张图片

print(data[0])

【python】机器学习算法(KNN)入门——手写数字识别

查看第一幅图像

print(digits.images[0])

第一幅图像代表的数字含义

print(digits.target[0])

将第一幅图像显示出来

plt.imshow(digits.images[0])
plt.show()

? <font color =red size=4>更多免费源码、解答领取处:点击</font>

【python】机器学习算法(KNN)入门——手写数字识别

基本上都是这张图,下面就不放出来了~

分割数据

将25%的数据作为测试集,其余作为训练集(你也可以指定其他比例的数据作为训练集)

train_x, test_x, train_y, test_y = train_test_split(data, digits.target, test_size=0.25, random_state=33)
print(train_x)

【python】机器学习算法(KNN)入门——手写数字识别

创建KNN分类器

knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(train_x, train_y)
print("KNN训练集得分: %.4lf" % knn.score(train_x, train_y))
print("KNN测试集得分: %.4lf" % knn.score(test_x, test_y))

【python】机器学习算法(KNN)入门——手写数字识别

测试分类效果

print(knn.predict(data))

【python】机器学习算法(KNN)入门——手写数字识别

? <font color =red size=4>博主所有文章素材、解答、源码领取处:点击</font>

推荐往期文章

对python感兴趣的小伙伴也可以看一下博主其他相关文章哦~

python小介绍:

python是什么?工作前景如何?怎么算有基础?爬数据违法嘛?。。

python数据分析前景:

用python分析“数据分析”到底值不值得学习,以及学完之后大概能拿到多少工资

python基础自测题:

Python 800 道习题 (°ー°〃) 测试你学废了嘛

最后推荐一套Python视频给大家,希望对大家有所帮助:

全套教程!你和大佬只有一步之遥【python教程】

尾语

要成功,先发疯,下定决心往前冲!

学习是需要长期坚持的,一步一个脚印地走向未来!

未来的你一定会感谢今天学习的你。

—— 心灵鸡汤

本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 ?

【python】机器学习算法(KNN)入门——手写数字识别