Как определить положительный класс в roc_auc_score? - PullRequest
1 голос
/ 08 января 2020

Я хочу использовать roc_auc_score для оценки производительности классификатора, но я не уверен, какие параметры ему нужны.

Описание этой функции в документации: документация .

Как видите, для этого требуется y_score, то есть оценки вероятности положительного класса, но как определить, какой класс положителен? Например, когда я использую predict_proba, какой столбец мне следует использовать?

Теперь я использую эту функцию следующим образом:

       clf = SVC(                    
            kernel = 'linear',
            probability = True,  
            random_state = 1 )

       clf.fit(train,train_Labels)

       score = np.array(clf.predict_proba(test_values))
       auc = roc_auc_score(test_Labels,score[:,1])

train_Labels и test_Labels - это одномерные векторы с 0 впереди и 1 сзади: [0,0,0,1,1,1].

В обучении и тестировании одна строка представляет образец, а один столбец представляет элемент.

Возможно, неуместно использовать predict_proba, но в моем проекте есть особые требования, поэтому не беспокойтесь.

Я хочу знать, переданы ли векторы, которые я передал в roc_auc_score функция как положительная вероятность верна (y_true и y_score).

Если что-то неясно по этому вопросу, пожалуйста, спросите меня, я новичок, пожалуйста, прости меня.

1 Ответ

0 голосов
/ 08 января 2020

Как я правильно понимаю, вы хотите получить roc_auc_score для вашей проблемы двоичной классификации.

Нет необходимости переставлять функцию оценки, вы можете использовать только:

auc = roc_auc_score(test_labels, score)

В соответствии с документацией :

y_score в виде массива формы (n_samples,) или (n_samples, n_classes)

Target scores. In the binary and multilabel cases, these can be either probability estimates or non-thresholded decision values (as

, возвращенных решением function_function по некоторым классификаторам). В случае мультикласса это должны быть оценки вероятности, сумма которых равна 1. Двоичный регистр ожидает форму (n_samples,), а оценки должны быть оценками класса с большей меткой.

Что подходит для вашей проблемы.

Форма test.labels.shape и score.shape должна совпадать.

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