sklearn: задать параметр для оценки F1 в gridsearchCV / Pipeline - PullRequest
0 голосов
/ 02 апреля 2020

Я установил sklearn.GridsearchCV с Pipeline в качестве оценщика. Моя проблема - мультиклассовая классификация. Я ясно получаю эту ошибку:

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.

1 Ответ

1 голос
/ 02 апреля 2020

Для вашего scoring параметра GridSearchCV вы можете просто передать, например, f1_weighted в виде строки. Это должно делать свое дело. Вы можете взглянуть на sklearn docs для возможных значений.

...