точность и ошибка отзыва при использовании sklearn - PullRequest
0 голосов
/ 24 мая 2018

Я использую точность склеарна и вспоминаю, чтобы получить эти очки.Я получил ошибку, сообщив об ошибке значения.Может кто-нибудь сказать, где я делаю неправильно?

Мой y_test выглядит следующим образом

443     positive
3615    positive
2030    negative
2993    positive
2870    positive
2907    negative
2215    positive

Мой прогноз выглядит следующим образом

['positive' 'positive' 'positive' ..., 'positive' 'positive' 'positive']

Код:

from sklearn.metrics import precision_score
from sklearn.metrics import recall_score
precision_score(y_test, pred)

Ошибка:

ValueError: pos_label=None is not a valid label: array(['negative', 'positive'], 
      dtype='<U8')

1 Ответ

0 голосов
/ 24 мая 2018

Точность определяется как отношение истинных положительных результатов к общему числу предсказанных положительных.

precision = tp / (tp + fp)

Теперь в вашем случае программа не знает, какой ярлык следует считать положительным классом.Таким образом, вы должны определить это самостоятельно.Сделайте следующее:

precision_score(y_test, pred, pos_label='positive')

Кроме того, показанная вами ошибка: pos_label=None is not a valid label говорит о том, что у вас может быть более старая версия scikit.Более новые версии должны выдавать эту ошибку (если pos_label не указан):

pos_label=1 is not a valid label

Поэтому я бы посоветовал вам перейти на последнюю версию

...