указать метрику оценки в функции GridSearch с пакетом hypopt в python - PullRequest
0 голосов
/ 21 октября 2018

Я использую функцию Gridsearch из пакета hypopt для поиска гиперпараметров с использованием указанного набора проверки.По умолчанию метрикой для классификации является точность (не очень точно).Здесь я хочу использовать счет F1 в качестве метрики.Я не знаю, где я должен указать метрику.Я посмотрел на документацию, но немного растерялся.

Кто-нибудь, кто знаком с пакетом hypopt, знает, как я могу это сделать?Заранее большое спасибо.

from hypopt import GridSearch

log_reg_params = {"penalty": ['l1'], 'C': [0.001, 0.01]}
opt = GridSearch(model=LogisticRegression())
opt.fit(X_train, y_train, log_reg_params, X_val, y_val)

1 Ответ

0 голосов
/ 23 октября 2018

Метрикой по умолчанию для пакета hypopt является функция score() для любой используемой вами модели, поэтому в вашем случае это LogisticRegression().score() с точностью по умолчанию.

Если вы обновите hypoptПакет до версии 1.0.8 через pip install hypopt --upgrade, вы можете указать любую метрику по вашему выбору в параметре scoring GridSearch.fit(), например, fit(scoring='f1').Вот простой рабочий пример, основанный на вашем коде, который использует метрику F1:

from hypopt import GridSearch

param_grid = {"penalty": ['l1'], 'C': [0.001, 0.01]}
opt = GridSearch(model=LogisticRegression(), param_grid = param_grid)
# This will use f1 score as the scoring metric that you optimize.
opt.fit(X_train, y_train, X_val, y_val, scoring='f1')

hypopt поддерживает большинство функций подсчета, которые поддерживаются sklearn.

  • Для классификации hypopt поддерживает следующие метрики (в виде строк): «точность», «brier_score_loss», «average_precision», «f1», «f1_micro», «f1_macro», «f1_weighted», «neg_log_loss», «точность», «отзыв» или «roc_auc».
  • Для регрессии hypopt поддерживает: "объясненное_вариантность", "neg_mean_absolute_error", "neg_mean_squared_error", "neg_mean_squared_log_error", "neg_median_absolute_error", "r2".
  • https://github.com/cgnorthcutt/hypopt/blob/master/hypopt/model_selection.py#L240

Подробнее о создании собственных пользовательских показателей оценки можно узнать здесь:

...