Проблема
Я пытаюсь использовать scikit-learn 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
согласно его документацию и ошибку выше. Так что я попробовал это.
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
таким образом, чтобы я мог указать аргумент для функции оценки?
Я не могу найти SO-вопрос по этой проблеме или обсуждение этой проблемы в репозитории scikit-learn на GitHub, но наверняка кто-то сталкивался с этим раньше?
average
имеет значение макроса по умолчанию, поэтому это не должно вызывать ошибку. - person BrenBarn   schedule 19.08.20160.16.1
), но документы для этой версии показывают то же самое. - person Gyan Veda   schedule 19.08.2016