Я хотел бы найти способ определить, какие соседи фактически используются в моем алгоритме knn, чтобы я мог глубже погрузиться в строки данных, которые похожи на мои функции.
Вот пример набора данных, который я разбил на обучающий набор и набор тестов для модели прогнозирования:
Player PER VORP WS
Fabricio Oberto 11.9 1.0 4.1
Eddie Johnson 16.5 1.7 4.8
Tim Legler 15.9 2.0 6.8
Ersan Ilyasova 14.3 0.7 3.8
Kevin Love 25.4 3.5 10.0
Tim Hardaway 20.6 5.1 11.7
Frank Brickowsk 8.6 -0.2 1.6
etc....
А вот пример кода моего алгоритма knn:
features = ['PER','VORP']
knn = KNeighborsRegressor(n_neighbors=5, algorithm='brute')
knn.fit(train[features], train['WS'])
predictions = knn.predict(test[features])
Теперь я знаю, что алгоритм будет выполнять итерацию по каждой строке и делать каждое целевое предсказание на основе 5 ближайших соседей, которые исходят из указанных мной целевых объектов.
Я хотел бы выяснить, ЧТО 5 n_neighbors фактически использовалось при определении моей целевой функции? В этом случае - какие игроки фактически использовались при определении цели?
Есть ли способ получить список из 5 соседей (или игроков), которые использовались в анализе для каждой строки?