Я пытаюсь написать функцию, которая проходит через различные итерации алгоритма классификации (k-Средство).Передача аргументов функции Python как переменных
В sklearn.neighbors.KNeighborsClassifier есть несколько параметров для настройки: n_neighbors и leaf_size. Я хотел бы знать, есть ли способ указать, какой параметр нужно настроить в ходе конкретной итерации.
from sklearn.neighbors import KNeighborsClassifier
def useNeighbors(iterations, *args):
print(iterations) #normal argument
for arg in args:
KNeighborsClassifier(arg=20)
useNeighbors(2, "n_neighbors", "leaf_size")
Я хочу, чтобы это по существу экземпляр экземпляр KNeighborsClassifer twice- в первый раз с # соседей на 20, а затем второй раз с размером листа на 20 (значения по умолчанию для числа соседей 5, и размер листа по умолчанию - 30).
Это, однако, дает удивительно
2
TypeError: _init_params() got an unexpected keyword argument 'arg'
Он печатает аргумент итераций, как и ожидалось, но KNeighborsClassifer не признает аргумент строка «N_NEIGHBORS» как мои попытки указать, какой параметр для настройки.
Как переключить параметр/аргумент, который я хочу настроить для разных итераций?
Кроме того, очевидно, что это игрушечный корпус - я спрашиваю, потому что я надеюсь интегрировать различные алгоритмы классификации ML в пакет ансамбля с гиперпараметрами, настроенными по методу марковской цепи Монте-Карло. Но для этого мне нужно указать, какие параметры в каждом алгоритме будут выполнять «шаги», найденные в цепочке Маркова, через каждую итерацию.