python识别字母代码_【Python-Opencv】KNN英文字母识别

石油地球物理勘探python识别字母代码_【Python-Opencv】KNN英⽂字母识别特征集分析
数据集为letter-recognition.data,⼀共为20000条数据,以逗号分隔,数据实例如下所⽰,第⼀列为字母标记,剩下的为不同的特征。
T,2,8,3,5,1,8,13,0,6,6,10,8,0,8,0,8
学习⽅法
1、读⼊数据,并去除分隔号
2、将数据第⼀列作为标记,剩下的为训练数据
3、初始化分类器并利⽤训练数据进⾏训练
4、利⽤测试数据验证准确率
中华研修大学
金瓶梅1迅雷下载代码
import cv2
import numpy as np
import matplotlib.pyplot as plt
print 'load data'
data = np.loadtxt('letter-recognition.data',dtype = 'float32',delimiter = ',',
converters= {0: lambda ch: ord(ch)-ord('A')})
print 'split as train,test'
train,test = np.vsplit(data,2)
2-氯-5-甲基吡啶print 'train.shape:\t',train.shape
print 'test.shape:\t',test.shape
print 'split train as the response,trainData'
response,trainData = np.hsplit(train,[1])
print 'response.shape:\t',response.shape
print 'trainData.shape:\t',trainData.shape
print 'split the test as response,trainData'
restest,testData = np.hsplit(test,[1])
print 'Init the knn'
knn = cv2.KNearest()
print 'test the knn'
ret,result,neighbours,dist = knn.find_nearest(testData,5)
print 'the rate:'
correct = np.count_nonzero(result == restest)预计负债
accuracy = correct*100.0/10000
print 'accuracy is',accuracy,'%'
结果
load data
split as train,test
train.shape:(10000, 17)
test.shape:(10000, 17)
split train as the response,trainData response.shape:(10000, 1) trainData.shape:(10000, 16)
split the test as response,trainData Init the knn
test the knn
the rate:
accuracy is 93.22 %
最后的猎鹿者
数据集

本文发布于:2024-09-22 05:39:13,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/326266.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   字母   训练   剩下   分隔   识别
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议