我已经用Pipeline
作为估计器设置了sklearn.GridsearchCV
。我的问题是多类分类。我清楚地收到这个错误:
ValueError: Target is multiclass but average='binary'. Please choose another average setting, one of [None, 'micro', 'macro', 'weighted'].
这是因为我使用F1
分数而没有设置average
参数。我的问题是我到底应该把这个参数传递到对象的哪里
我的代码:
estimator = GridSearchCV(
estimator=Pipeline(setting['layers']),
param_grid=setting['hyper_parameters'],
cv=cv,
scoring=self.scoring,
refit=self.refit_metric,
n_jobs=n_jobs,
return_train_score=True,
verbose=True
)
然后:
estimator.fit(
self.x_train,
self.y_train
)
在.fit()
行上出现了错误,但我想我应该在实例化GridsearchCV
时传递参数。
对于GridSearchCV
的scoring
参数,您可以将例如f1_weighted
作为字符串传递。这就行了。您可以在sklearn文档中查看可能的值。