机器学习实战knn

Posted 数仙据灵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习实战knn相关的知识,希望对你有一定的参考价值。

最近在学习这本书,按照书上的实例编写了knn.py的文件,使用canopy进行编辑,用shell交互时发现运行时报错:

>>> kNN.classify0([0,0],group,labels,3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name ‘kNN‘ is not defined

  运行的代码如下:

from numpy import *  
import operator  
   
def createDataSet():  
    group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])  
    labels = [A,A,B,B]  
    return group,labels  
  
def classify0(inX,dataSet,labels,k):  
    dataSetSize = dataSet.shape[0]  
    diffMat = tile(inX,(dataSetSize,1)) - dataSet  
    sqDiffMat = diffMat**2  
    sqDistances = sqDiffMat.sum(axis = 1)  
    distances = sqDistances**0.5  
    sortedDistIndicies = distances.argsort()  
    classCount = {}  
    for i in range(k):  
        voteIlabel = labels[sortedDistIndicies[i]]  
        classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1  
    sortedClassCount = sorted(classCount.iteritems(),  
                              key=operator.itemgetter(1),reverse=True)  
    return sortedClassCount[0][0]  

然后我在canopy中重新关闭程序,又打开后,就可以运行成功了

import kNN

group,labels=kNN.createDataSet()

kNN.classify0([0,0],group,labels,3)

还有一点是文件名不识别大小写 需要注意

以上是关于机器学习实战knn的主要内容,如果未能解决你的问题,请参考以下文章

机器学习实战-第二章代码+注释-KNN

监督学习算法_k-近邻(kNN)分类算法_源代码

机器学习实战☛k-近邻算法(K-Nearest Neighbor, KNN)

机器学习实战☛k-近邻算法(K-Nearest Neighbor, KNN)

机器学习实战python3 K近邻(KNN)算法实现

机器学习-KNN算法(鸢尾花分类实战)