2025年2月14日 星期五 甲辰(龙)年 腊月十四 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

python 识别手写体数字

时间:04-01来源:作者:点击数:41

python 有很多好的机器学习库, sklearn 算是之前比较经典常用的了, 现在用它来做一个小测试, 识别手写数字, 字体数据使用sklearn自带的, 代码如下:

  • from sklearn import datasets,svm
  • import matplotlib.pyplot as plt
  • """ 识别手写体数字 """
  • svc=svm.SVC(gamma=0.001,C=100.)
  • digits=datasets.load_digits() # 导入Digits数据集
  • # print(digits.DESCR) # 查看数据集的说明信息
  • def plts():
  • ''' 显示要识别的数字图片 '''
  • plt.subplot(321)
  • plt.imshow(digits.images[1791],cmap=plt.cm.gray_r,interpolation='nearest')
  • plt.subplot(322)
  • plt.imshow(digits.images[1792],cmap=plt.cm.gray_r,interpolation='nearest')
  • plt.subplot(323)
  • plt.imshow(digits.images[1793],cmap=plt.cm.gray_r,interpolation='nearest')
  • plt.subplot(324)
  • plt.imshow(digits.images[1794],cmap=plt.cm.gray_r,interpolation='nearest')
  • plt.subplot(325)
  • plt.imshow(digits.images[1795],cmap=plt.cm.gray_r,interpolation='nearest')
  • plt.subplot(326)
  • plt.imshow(digits.images[1796],cmap=plt.cm.gray_r,interpolation='nearest')
  • plt.show()
  • def svms():
  • ''' 学习并返回识别结果 '''
  • svc.fit(digits.data[:1791],digits.target[:1791]) # 训练
  • res=svc.predict(digits.data[1791:1797]) # 识别
  • return list(res)
  • if __name__=='__main__':
  • result=svms()
  • duibi=digits.target[1791:1797]
  • print('识别的数字: {}\n实际的结果: {}'.format(result,list(duibi)))
  • plts()

执行结果:

识别的数字: [4, 9, 0, 8, 9, 8]

实际的结果: [4, 9, 0, 8, 9, 8]

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门