#python #machine-learning
#python #машинное обучение
Вопрос:
Я новичок в Python, и у меня возникла проблема с этим при создании функции:
Я создал словарь, в котором ключами являются такие параметры, как n_estimators
, C
, max_depths
например.
У меня есть цикл, в котором я хотел бы задать параметры для заданной оценки (которая является входом моей функции), но у меня возникла проблема.
Например, предположим, что моя оценка является RandomForestClassifier
,
Код будет:
key = 'n_estimators'
estimator = estimator.set_params(key=100)
Я получил сообщение об ошибке:
ValueError: Invalid parameter key for estimator RandomForestClassifier.
Я понимаю проблему, которая заключается в том, что set_params рассматривает key как параметр (а не как «n_estimators»), но я пока не знаю, как решить проблему.
Я был бы очень признателен за любые советы здесь.
Ответ №1:
Используйте dict с **
оператором:
key = 'n_estimators'
estimator = estimator.set_params(**{key: 100})
Ответ №2:
или вы знаете, просто
estimator.set_params(n_estimators=100)
Комментарии:
1. Нет, я не могу, потому что я хочу обобщить свой метод для большего количества оценок, я просто привел пример с классификатором случайного леса. Но моим классификатором может быть, например, SVM.
Ответ №3:
Вы могли бы рассмотреть возможность использования GridSearchCV
для оценки модели по нескольким значениям гиперпараметров и для разных гиперпараметров.