K-近邻分类算法的python实现及案例分析( 三 )


运行代码,结果如下:
根据运行结果得出,我们已经得出了数据的取值范围和数据的最小值 。
2.4 测试算法:验证分类器
接下来将要测试分类器的效果,若分类器的正确率满足要求,海伦就可以用这个软件来处理约会网站提供的名单了 。
def datingClassTest():filename = "datingTestSet.txt"datingDataMat, datingLabels = file2matrix(filename)hoRatio = 0.10normMat, ranges, minVals = autoNorm(datingDataMat)m = normMat.shape[0]numTestVecs = int(m * hoRatio)errorCount = 0.0for i in range(numTestVecs):classifierResult = classify0(normMat[i, :], normMat[numTestVecs:m, :],datingLabels[numTestVecs:m], 4)print("the classifier came back with :%d\t the real answer is :%d" % (classifierResult, datingLabels[i]))if classifierResult != datingLabels[i]:errorCount += 1.0print("错误率:%f%%" % (errorCount/float(numTestVecs)*100))
根据运行结果分析,该分类器处理约会数据集的错误率为4.0%,接下来我们可以改变函数 内变量和变量k的值,检测错误率是否随着变量值的变化而增加 。依赖于分类算法、数据集和程序设置,分类器的输出结果可能有很大的不同 。
【K-近邻分类算法的python实现及案例分析】2.5 使用算法:构建完整可用系统