Как я могу использовать взвешенный log_loss как функцию SCORING для linear_model.SGDClassifier? - PullRequest
0 голосов
/ 16 января 2019

Я использую

linear_model.SGDClassifier(loss='log',class_weight='balanced')

для 10 классов классификации (классы очень несбалансированные).

Похоже, что class_weight используется только во время тренировки (в функции потерь). Они не используются для начисления очков. Таким образом, я использую

GridSearchCV(test_model, my_hyperparameters, scoring='f1_macro')

, поскольку 'f1_macro' вычисляет «метрики для каждой метки и находит их средневзвешенное значение. Это не учитывает дисбаланс меток».

Я хотел бы использовать 'neg_log_loss' в качестве оценки. Итак, я бы имел:

GridSearchCV(test_model, my_hyperparameters, scoring='neg_log_loss').

Можно ли сделать его взвешенным?

В документах я вижу:

sklearn.metrics.log_loss(y_true, y_pred, eps=1e-15, normalize=True, sample_weight=None, labels=None).

Но как я могу передать "sample_weight" в

GridSearchCV(test_model, my_hyperparameters, scoring='neg_log_loss')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...