Ошибка в вычислительной точности с использованием scikit-learn

#python #scikit-learn #precision

#python #scikit-learn #точность

Вопрос:

 from sklearn.metrics import precision_score

precision_score(expected, predicted)
  

где ожидается array([ 4., 3.])

и прогнозируется array([ 2., 4.])

Я получаю фолл. ошибка: *** ValueError: pos_label=1 is not a valid label: array([ 2., 3., 4.])

Как это можно исправить?

Ответ №1:

Вам нужен average параметр для меток мультикласса.

В противном случае вам нужно будет установить pos_label в качестве одной из меток классов в обоих массивах, т.Е. 2, 3 или 4:

 >>> # score for all classes
>>> precision_score(expected, predicted, average=None)
array([ 0.,  0.,  0.])

>>> # score for each class
>>> precision_score(expected, predicted, pos_label=2)
0.0
>>> precision_score(expected, predicted, pos_label=3)
0.0
>>> precision_score(expected, predicted, pos_label=4)
0.0
  

Ссылка:
sklearn.metrics.precision_score