def get_result(self, point): if not self.ready_model: self.eval() distance_list = [] index = 0 while index < len(self.point_list): w_distance = euclidean_distance(self.point_list[index], point)+\ euclidean_distance(self.point_list[index], self.class_table[self.class_list[index]]) distance_list.append({ 'class': self.class_list[index], 'distance': w_distance }) index+=1 distance_list.sort(key = lambda x: x['distance']) fav = distance_list[:self.k] fav_class = {} for item in fav: fav_class.setdefault(item['class'], 0) fav_class[item['class']]+=1 fav_class_items = fav_class.items() # Будем отдавать наиболее часто встречаюшегося соседа fav_class_items.sort(key = lambda x:x[1]) return fav_class_items[-1][0]
def get_result(self, point): if not self.ready_model: self.eval() distance_list = [] index = 0 while index < len(self.point_list): w_distance = euclidean_distance(self.point_list[index], point)+\ euclidean_distance(self.point_list[index], self.class_table[self.class_list[index]]) distance_list.append({ 'class': self.class_list[index], 'distance': w_distance }) index += 1 distance_list.sort(key=lambda x: x['distance']) fav = distance_list[:self.k] fav_class = {} for item in fav: fav_class.setdefault(item['class'], 0) fav_class[item['class']] += 1 fav_class_items = fav_class.items() # Будем отдавать наиболее часто встречаюшегося соседа fav_class_items.sort(key=lambda x: x[1]) return fav_class_items[-1][0]
def get_result(self, point): distance_list = {} if not self.ready_model: self.eval() for (_class, centre) in self.class_table.items(): distance_list[_class] = euclidean_distance(centre, point) fav_class_items = distance_list.items() # Будем отдавать класс с наиболее близким центром fav_class_items.sort(key = lambda x:x[1]) return fav_class_items[0][0]
def get_result(self, point): distance_list = {} if not self.ready_model: self.eval() for (_class, centre) in self.class_table.items(): distance_list[_class] = euclidean_distance(centre, point) fav_class_items = distance_list.items() # Будем отдавать класс с наиболее близким центром fav_class_items.sort(key=lambda x: x[1]) return fav_class_items[0][0]