Advertisement
Guest User

Untitled

a guest
Feb 25th, 2018
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.08 KB | None | 0 0
  1.  for i in range(x_test):
  2.             # рассматриваем первые k элементов.
  3.             k_neighbours = zip(self.y_learn[: self.k], self.x_learn[: self.k])
  4.             # сортируем их. Получаем элементы, отсортированные по возрастанию расстояния до x_test[i].
  5.             k_neighbours.sort(key=lambda y: self.metric(y[1], x_test[i]))
  6.             # расспатриваем элементы y_learn c k-го элемента.
  7.             for j in range(self.k, len(self.y_learn)):
  8.                 label = self.y_learn[i]
  9.                 y = self.x_learn[i]
  10.                 # ищем, возможно ли новый элемент вставить в k_neighbours.
  11.                 tmp = 0
  12.                 while tmp < self.k and self.metric(y, x_test[i]) < k_neighbours[tmp][1]:
  13.                     tmp += 1
  14.                    
  15.                 if(tmp < self.k):
  16.                     k_neighbours.insert(tmp, (label, self.metric(y, x_test[i])))
  17.                     k_neighbours.pop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement