Я думаю, вам следует начать с этого с scikit-learn и get is work.
Затем вы должны поработать над функцией расстояния до Манхэттена, поэтому просто:
def dist_manhattan(point1, point2):
...
Если вы получили это, вам нужно реализовать функцию нормализации:
def normalize(dataset):
...
, а затем вы можете реализовать свой взвешенный knn, например, функцию
def w_knn(dataset):
...
и если у вас есть общий класс с python, я бы посоветовал прочитать об этом несколько книг или посмотреть / прочитать учебные пособия.