A few minutes to write a KNN python code, on the compiler can run directly:
"" "PROGRAMS:KNN algorithm description:1.calculate the distance between test data and every single train data 2.sort the Distance 3.select the minimum k points by distance 4.count the label frequency of K points 5.return to the label of the Highest frequency "" "from Mlxtend.data import iris_data import NumPy as NP class Knn_csy (object): Def __init__ (SE
Lf,dataset,label): Self.dataset=dataset self.label=label def distance (self,dataset_i,testdata): Dist=np.sum ((dataset_i-testdata) **2) return Np.sqrt (Dist) def Calculate_dis (self,testdata,k=10,updateflage= 0): "" ":p Aram TestData::p Aram K:default by:p Aram Updateflage:: R Eturn: "" "If Len (testdata)!=len (Self.dataset[0]): Raise Exception (" wrong input array of test
Data "); Dis=[] Dimension=len (self.dataset) for I in Range (dimension): Distance=self.distance (Self.data Set[i],tEstdata) dis.append (distance) dic=zip (Dis,self.label) dic=sorted (DIC) label=[]
For I in range (k): Label.append (dic[i][1]) count=np.bincount (label) Label=np.argmax (count)
If Updateflage:self.dataset.append (testdata) self.label.append (label) return label if __name__ = = ' __main__ ': Dataset,label=iris_data () Myknn=knn_csy (Dataset,label) testdata=[2,1,1,2] Labe
L=myknn.calculate_dis (testdata,3) Print label