Filename= ' G:\data\iris.csv '
Lines=fr.readlines ()
Mat=zeros (Len (lines), 4)
Irislabels=[]
Index=0
For line in lines:
Line=line.strip ()
If Len (line) >0:
Listfromline=line.split (', ')
Irislabels.append (Listfromline[-1])
Mat[index,:]=listfromline[0:4]
Index=index+1
mat=mat[0:150,:]
ROWCOUNT=MAT.SHAPE[0]
horatio=0.2
Testnum=int (Horatio*rowcount)
Train=mat.copy ()
Train=train[testnum:,:]
Trainlabel=irislabels[testnum:]
def classify1 (inx,train,labels,k):
ROWCOUNT=TRAIN.SHAPE[0]
Diffmat=tile (InX, (rowcount,1))-train
Diffmat=diffmat**2
Sqdistances=diffmat.sum (1)
distances=sqdistances**0.5
Sorteddistindices=distances.argsort ()
classcount={}
For I in range (k):
Votelabels=labels[sorteddistindices[i]]
Classcount[votelabels]=classcount.get (votelabels,0) +1
Sortedclasscount=sorted (Classcount.iteritems (), Key=operator.itemgetter (1), reverse=true)
return sortedclasscount[0][0]
Errorcount=0
For I in Range (Testnum):
Classifyresult=classify1 (mat[i,:],train,trainlabel,3)
if (Irislabels[i]!=classifyresult): errorcount+=1
Print Errorcount
Use KNN to classify iris datasets--python