我正在尝试在执行网格搜索时查看 gridsearchcv 中的自定义评分函数中当前正在使用的参数。理想情况下,这看起来像:
编辑:为了澄清我希望使用网格搜索中的参数,因此我需要能够在函数中访问它们。
def fit(X, y):
grid = {'max_features':[0.8,'sqrt'],
'subsample':[1, 0.7],
'min_samples_split' : [2, 3],
'min_samples_leaf' : [1, 3],
'learning_rate' : [0.01, 0.1],
'max_depth' : [3, 8, 15],
'n_estimators' : [10, 20, 50]}
clf = GradientBoostingClassifier()
score_func = make_scorer(make_custom_score, needs_proba=True)
model = GridSearchCV(estimator=clf,
param_grid=grid,
scoring=score_func,
cv=5)
def make_custom_score(y_true, y_score):
'''
y_true: array-like, shape = [n_samples] Ground truth (true relevance labels).
y_score : array-like, shape = [n_samples] Predicted scores
'''
print(parameters_used_in_current_gridsearch)
…
return score
我知道我可以在执行完成后获取参数,但是我试图在代码执行时获取参数。
Smart猫小萌
相关分类