def get_neighbors(self,num): self.ds=list() leng=len(self.trainingdata)-1 for i in range(len(self.trainingdata)): distance=ClassifyUtils.euclideandistance(self.inst, self.trainingdata[i],leng) self.ds.append((self.trainingdata[i], distance)) self.ds.sort(key=lambda tup:tup[1]) self.neighbors=list() for i in range(num): self.neighbors.append(self.ds[i][0])
def get_neighbors(self,num): self.ds=list()x leng=len(self.trainingdata)-1 for i in range(len(self.trainingdata)): distance=ClassifyUtils.euclideandistance(self.inst, self.trainingdata[i],leng) self.ds.append((self.trainingdata[i], distance)) self.ds.sort(key=lambda tup:tup[1]) self.neighbors=list() for i in range(num): self.neighbors.append(self.ds[i][0])
def run_detection(self): """Given a window of data this sets a threshold""" TC_CONSTANT=2 Null=int() detected=int() for i in self.train: trainset=copy.copy(i) trainset=list(trainset) del trainset[-1] dis=ClassifyUtils.euclideandistance(self.data, trainset, len(trainset)) dis1=tuple((i[-1], dis)) self.alldis.append(dis1) self.alldis.sort(key=lambda tup:tup[1], reverse=False) #Now do some vote gettingi consideration=self.alldis[0:TC_CONSTANT-1] for i in consideration: if i[0]=="NULL": Null+=1 else: detected+=1 if Null>detected:print("NULL") else:print("Got a bite!")