我正在尝试将参数传递给 scikit learn 中的自定义估计器,但未能成功。我希望lr
在网格搜索期间更改参数。问题是lr
参数没有改变......
代码示例从此处复制和更新
(原始代码对我不起作用)
任何带有自定义估计器的完整工作示例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)
Terveisin,马库斯