1.机器学习之(4) Handwritten Digits Data Set初体验

本文通过使用sklearn库中的手写数字数据集,演示了如何加载数据、进行数据预处理,并应用k近邻(kNN)算法进行分类预测。通过可视化部分样本,读者可以直观了解数据特点。在划分训练集和测试集后,kNN模型达到了98.6%的准确率。

载入数据

import numpy as np
import matplotlib 
import matplotlib.pyplot as plt
from sklearn import datasets
digits = datasets.load_digits()

得到数据集中的数据

X = digits.data
y = digits.target

可视化一下,二进制图像显示

随便选一个样本

some_digit = X[111]
some_digit_image = some_digit.reshape(8,8)
plt.imshow(some_digit_image, cmap = matplotlib.cm.binary)
plt.show()

y[111]

输出为4。

调用sklearn库

数据预处理

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

创建kNN模型并训练

from sklearn.neighbors import KNeighborsClassifier
kNN_classifier = KNeighborsClassifier(n_neighbors=3)
kNN_classifier.fit(X_train, y_train)

测试模型准确率

kNN_classifier.score(X_test,y_test)

输出

0.9861111111111112
手写数字分类是一种利用神经网络(NN)方法的图像识别任务。在这种任务中,我们的目标是对手写数字图像进行分类,将其识别为0到9之间的具体数字。 通过使用神经网络,我们可以训练一个模型来学习特定类型的图像,并将其与其他类型的图像进行区分。神经网络是一种由多个神经元组成的网络,每个神经元都有一个权重和一个激活函数。通过不断调整神经元的权重,模型可以学习到不同特征之间的关联性,从而对新的图像进行分类。 在手写数字分类任务中,我们需要用大量的手写数字图像作为训练数据来训练神经网络模型。这些图像通常都是灰度图像,每个图像都包含一个手写数字。我们需要将这些图像转换成数字矩阵,然后将其输入到神经网络中。 训练神经网络模型的过程是一个迭代的过程。在每一轮迭代中,我们通过将训练数据输入到网络中来计算预测结果,并计算预测结果与真实标签之间的误差。然后,根据误差来更新神经元的权重,使得下一轮的预测结果更加准确。 通过不断迭代训练,我们可以逐渐提高模型对手写数字的分类准确率。一旦训练完成,我们就可以使用这个模型来对新的手写数字图像进行分类,从而实现自动识别手写数字的功能。 总而言之,通过使用神经网络方法,我们可以实现手写数字图像的分类任务。这种方法可以通过训练神经网络模型来学习手写数字的特征,并将其与其他类型的图像进行区分,从而实现自动识别手写数字的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值