from numpy import *
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
group,labels = knn.createdataset()
def classify0(inx,dataset,labels,k):
datasetsize = dataset.shape[0]
diffmat = inx-dataset
distances = diffmat**2
distances = distances.sum(axis=1)#计算距离
sort_distances = distances.argsort()
classcount = {}
for i in range(k):
vote_label = labels[sort_distances[i]]
classcount[vote_label] = classcount.get(vote_label,0)+1#计算标签值,没有值为0,有值加1
sorted_vote = sorted(classcount.items(),key = lambda x:x[1],reverse = True)
return sorted_vote[0][0]
classify0([0,0],group,labels,3)
'b'