实验一--手写数字识别

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

大数据应用实例

1、下面我们来做个大数据人工智能实例:手写数字识别

2、我们使用python语言进行代码的编写,使用pycharm开发工具对其实例进行编写,

3、下面我们首先来看我们的样本数据:

4、我们使用python语言来对其数据进行机器学习和识别

代码如下:

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

from sklearn.neighbors import KNeighborsClassifier

# 1、数据读取

data = plt.imread('./data/0/0_1.bmp')

# plt.imshow(data)

# plt.show()

# x_tain=[]

# for i in range(1,501):

# x_tain.append(plt.imread('./data/0/0_%d.bmp'%(i)))

x_tain =[]

x_test =[]

y_tain=[]

y_test=[]

for i in range(0,10):

for j in range(1,501):

if j < 451: #将数据保存到训练数据中

x_tain.append(plt.imread('./data/%d/%d_%d.bmp'%(i,i,j)).reshape(-1) ) #reshape 可以降维也就是矩阵变化

y_tain.append(i) #append 是读进来的数据进行存储的意思

else: #保存到预测数据中

x_test.append(plt.imread('./data/%d/%d_%d.bmp'%(i,i,j)).reshape(-1)) y_test.append(i)

# 2、数据转换成

x_tain,y_tain= np.array(x_tain),np.array(y_tain)

# print(x_tain.shape,len(y_tain),len(x_test))

# 3、机器学习

knn = KNeighborsClassifier() #构造分类器

knn.fit(x_tain,y_tain)

y_ = knn.predict(x_test) #进行预测的结果

# print(len(y_[::10]),'\n',y_test[::10])

gl=knn.score(x_test,y_test)

print('准确率为:',gl)

# 3、图片绘制

plt.figure(figsize=(13,15))

img = x_test[::10]

img1 = y_test[::10]

yimg = y_[::10]

for i in range(50):

plt.subplot(5,10,i+1)

plt.imshow(img[i].reshape(28,28))

plt.title('预测数据:%d'%(yimg[i])+'\n真实数据:%d'%(img1[i]))

plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置字体为SimHei显示中文

plt.rcParams['axes.unicode_minus'] = False # 设置正常显示符号

plt.show()

'''import matplotlib.ticker as ticker

fig=plt.figure()

ax = fig.add_subplot(111)

ax.yaxis.set_major_locator(ticker.NullLocator())'''

5、结果展示

相关文档
最新文档