18 def classify0(inX, dataSet, labels, k):
19 dataSetSize = dataSet.shape[0]
20 diffMat = tile(inX, (dataSetSize,1)) - dataSet #参见 numpy.tile(A, B)
23 sqDiffMat = diffMat**2
24 sqDistances = sqDiffMat.sum(axis=1) #参见sum(axis=1)
25 distances = sqDistances**0.5
26 sortedDistIndicies = distances.argsort()
27 classCount={}
28 for i in range(k):
29 voteIlabel = labels[sortedDistIndicies[i]]
30 classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1
sum(axis=1) -- https://blog.csdn.net/ikerpeng/article/details/17026011
2.python的 numpy当中
现在对于数据的处理更多的还是numpy。没有axis参数表示全部相加,axis=0表示按列相加,axis=1表示按照行的方向相加
numpy.tile(A,B) -- https://blog.csdn.net/ksearch/article/details/21388985
重复A,B次,这里的B可以时int类型也可以是远组类型。
没有评论:
发表评论