Ошибка ValueEr с sklearn metrics.average_precision_score - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь использовать metrics.average_precision_score для вычисления среднего значения точности моей модели sklearn KNN, мой код выглядит так:

average_precision = metrics.average_precision_score(y_test.values, np.array(y_pre.tolist))

Но я получаю эту ошибку:

...
File "C:\My software\Anaconda\lib\site-packages\sklearn\metrics\_ranking.py", line 211, in average_precision_score
    "y_true." % pos_label)
ValueError: pos_label=1 is invalid. Set it to a label in y_true.

Чтобы проверить мои y_test и y_pre, я использовал:

print(type(y_test))
print(type(y_test.values))
print(type(y_pre))
print(y_test.values)
print(y_pre)

Я получил результат:

<class 'pandas.core.series.Series'>
<class 'numpy.ndarray'>
<class 'numpy.ndarray'>
[3 3 3 3 3 2 3 3 3 2 2 3 3 2 3 3 3 2 3 2 3 3 3 2 3 2 3 3 3 3 3 2 2 3 2 3 3
 3 3 2 3 2 3 3 2 3 3 3 2 3 3 3 3 2 3 3 3 3 2 3 3 3 3 3 3 2 3 3 2 3 3 3 3 3
 3 3 3 3 2 3 3 2 2 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 2 3 3 2 3 2 3 3 2 2 3
 2 3 2 2 3 2 3 3]
[3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
 3 3 3 3 3 3 3 3]

Я понятия не имею, почему это не может работать, пожалуйста, помогите мне, спасибо вы.

1 Ответ

0 голосов
/ 09 апреля 2020

Сопоставьте свои метки с 0 и 1 в y_test.values и y_pre вместо 3 и 2.

Помните: 1 должно быть положительной меткой.

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