1.
from numpy import *
import operator
class knn1:
def createDataset(self):
group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])
labels = ['A','A','B','B']
return group,labels
def KnnClassify(self,testX,trainX,labels,K):
[N,M]=trainX.shape
difference = tile(testX,(N,1)) - trainX
difference = difference ** 2
distance = difference.sum(1)
distance = distance ** 0.5
sortdiffidx = distance.argsort()
vote = {}
for i in range(K):
ith_label = labels[sortdiffidx[i]];
vote[ith_label] = vote.get(ith_label,0)+1
sortedvote = sorted(vote.items(),key = lam