Я использую
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')