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()
标签:datingLabels,numTestVecs,normMat,分类器,算法,测试,程序验证,errorCount 来源: https://www.cnblogs.com/fd-682012/p/11575151.html