2016-10-06 3 views
0

Я новичок в Python и у меня есть проблемы с ним, когда я создаю функцию:переменные и параметры в методе

Я создал словарь, где ключи являются такими параметрами, как n_estimators, C, max_depths, например.

У меня есть петля, где я хотел бы установить параметры для данной оценки (которая является вкладом моего funtion), но у меня возникла проблема.

Например, скажем, моя оценка является RandomForestClassifier,

Код будет:

key = 'n_estimators' 
estimator = estimator.set_params(key=100) 

я получил ошибку:

ValueError: Invalid parameter key for estimator RandomForestClassifier. 

Я понимаю проблему, которая является то, что set_params рассмотрите ключ как параметр (а не как «n_estimators»), но я пока не знаю, как решить проблему.

Я бы очень признателен за любые советы здесь.

ответ

0

Используйте ДИКТ с оператором **:

key = 'n_estimators' 
estimator = estimator.set_params(**{key: 100}) 
+0

Большое спасибо! –

0

или вы знаете, просто

estimator.set_params(n_estimators=100) 
+0

Нет, я не могу, потому что я хочу обобщить свой метод для большего количества оценок, я просто привел пример с классификатором Random Forest. Но мой классификатор может быть SVM, например. –

0

Вы могли бы рассмотреть возможность использования GridSearchCV оценить модель по множеству значений гиперпараметра, и для различных гиперпараметров.

Смежные вопросы