Для меня работала переустановка модуля mcrypt
.
$sudo apt-get install php5-mcrypt
$sudo php5enmod mcrypt
GridSearchCV
имеет специальное соглашение об именах для вложенных объектов. В вашем случае ess__rfc__n_estimators
означает ess.rfc.n_estimators
, и, согласно определению pipeline
, он указывает на свойство n_estimators
of
ModelTransformer(RandomForestClassifier(n_jobs=-1, random_state=1, n_estimators=100)))
. Очевидно, ModelTransformer
экземпляры don 't имеет такое свойство.
Исправление легко: для доступа к базовому объекту ModelTransformer
необходимо использовать поле model
. Таким образом, параметры сетки становятся
parameters = {
'ess__rfc__model__n_estimators': (100, 200),
}
P.S. это не единственная проблема с вашим кодом. Чтобы использовать несколько заданий в GridSearchCV, вам нужно сделать все объекты, которые вы используете для копирования. Это достигается с помощью методов get_params
и set_params
, их можно брать из BaseEstimator
mixin.
SelectColumns
класс изBaseEstimator
, который предоставляет вышеупомянутыеset_params
иget_params
. Кроме того, вы можете реализовать свои собственные, но большую часть времени вы не хотите. – Artem Sobolev 5 June 2015 в 01:59