【发布时间】:2019-08-18 22:32:15
【问题描述】:
我正在尝试将参数传递给 scikit learn 中的自定义估算器,但未能成功。我希望在网格搜索期间更改参数lr。
问题是lr 参数没有改变...
代码示例从here复制更新
(原始代码对我不起作用)
任何带有自定义估算器的 GridSearchCV 的完整工作示例以及更改参数都将不胜感激。
我在ubuntu 18.10 使用scikit-learn 0.20.2
from sklearn.model_selection import GridSearchCV
from sklearn.base import BaseEstimator, ClassifierMixin
import numpy as np
class MyClassifier(BaseEstimator, ClassifierMixin):
def __init__(self, lr=0.1):
# Some code
print('lr:', lr)
return self
def fit(self, X, y):
# Some code
return self
def predict(self, X):
# Some code
return X % 3
params = {
'lr': [0.1, 0.5, 0.7]
}
gs = GridSearchCV(MyClassifier(), param_grid=params, cv=4)
x = np.arange(30)
y = np.concatenate((np.zeros(10), np.ones(10), np.ones(10) * 2))
gs.fit(x, y)
特韦辛,马库斯
【问题讨论】:
标签: python scikit-learn parameter-passing gridsearchcv