k-近邻算法(kNN)测试算法:作为完整程序验证分类器
Posted fd-682012
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k-近邻算法(kNN)测试算法:作为完整程序验证分类器相关的知识,希望对你有一定的参考价值。
1 #测试算法:作为完整程序验证分类器 2 def datingClassTest(): 3 hoRatio = 0.10 #设置测试集比重,前10%作为测试集,后90%作为训练集 4 datingDataMat,datingLabels = file2matrix(‘datingTestSet.txt‘) 5 normMat, ranges, minVals = autoNorm(datingDataMat) 6 m = normMat.shape[0] #得到样本数量m 7 numTestVecs = int(m*hoRatio) #得到测试集最后一个样本的位置 8 errorCount = 0.0 #初始化定义错误个数为0 9 for i in range(numTestVecs): 10 #测试集中元素逐一放进分类器测试,k = 3 11 classifierResult = classify0(normMat[i,:],normMat[numTestVecs:m,:],datingLabels[numTestVecs:m],3) 12 #输出分类结果与实际label 13 print("the classifier came back with: %d, the real answer is: %d"% (classifierResult, datingLabels[i])) 14 #若预测结果与实际label不同,则errorCount+1 15 if (classifierResult !=datingLabels[i]): errorCount += 1.0 16 #输出错误率 = 错误的个数 / 总样本个数 17 print("the total error rate is: %f" % (errorCount/float(numTestVecs)))
输入命令:kNN.datingClassTest()
以上是关于k-近邻算法(kNN)测试算法:作为完整程序验证分类器的主要内容,如果未能解决你的问题,请参考以下文章
后端程序员之路 12K最近邻(k-Nearest Neighbour,KNN)分类算法