ПроблемаКак передать аргумент функции выигрыша в scikit-Learn в LogisticRegressionCV вызов
Я пытаюсь использовать scikit учиться «s LogisticRegressionCV
с roc_auc_score
как скоринг метрики.
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import roc_auc_score
clf = LogisticRegressionCV(scoring=roc_auc_score)
Но когда я пытаюсь соответствовать модели (clf.fit(X, y)
), он выдает сообщение об ошибке.
ValueError: average has to be one of (None, 'micro', 'macro', 'weighted', 'samples')
Это круто. Понятно, что происходит: roc_auc_score
необходимо вызвать с аргументом average
, указанным за its documentation и ошибкой выше. Поэтому я попробовал это.
clf = LogisticRegressionCV(scoring=roc_auc_score(average='weighted'))
Но оказывается, что roc_auc_score
нельзя назвать одним только дополнительным аргументом, потому что это бросает другую ошибку.
TypeError: roc_auc_score() takes at least 2 arguments (1 given)
Вопрос
Любых мысли о том, как я могу использовать roc_auc_score
в качестве разметочных метрик для LogisticRegressionCV
таким образом, что я могу указать аргумент для функции выигрыша?
Я не могу найти ВОПРОС по этому вопросу или обсуждение этой проблемы в scikit-learn GitHub repo, но наверняка кто-то сталкивался с этим раньше?
В соответствии с документами, к которым вы привязаны к 'average', используется значение по умолчанию« macro », поэтому это не должно вызывать ошибки. – BrenBarn
Да, не знаю, почему он просит определения этого аргумента. Я думал, что это может быть версия, которую я использую ('0.16.1'), но документы для этой версии показывают одно и то же. –