KNN算法学习--python实现和java实现

来源:互联网 发布:肌研极润怎么样知乎 编辑:程序博客网 时间:2024/06/08 16:32

python实现:

from numpy import *import operatordef 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]def createDataSet():    group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])    labels = ['A','A','B','B']    return group, labelsgroup,labels=createDataSet()tt=classify0([1,0.1],group,labels,3)print tt
</pre><pre name="code" class="python">
                                             
0 0
原创粉丝点击