Получить значения отзыва (чувствительности) и точности (PPV) многоклассовой задачи в PyML

1

Я использую PyML для классификации SVM. Тем не менее, я заметил, что когда я оцениваю классификатор с несколькими классами, используя LOO, объект результатов не сообщает значения чувствительности и PPV. Вместо этого они равны 0.0:

from PyML import *
from PyML.classifiers import multi

mc = multi.OneAgainstRest(SVM())
data = VectorDataSet('iris.data', labelsColumn=-1)
result = mc.loo(data)

result.getSuccessRate()
>>> 0.95333333333333337
result.getPPV()
>>> 0.0
result.getSensitivity()
>>> 0.0

Я просмотрел код, но не мог понять, что здесь происходит. У кого-то есть обходное решение для этого?

Теги:
machine-learning
classification
svm
pyml

1 ответ

4
Лучший ответ

Вы не можете получить обычные измерения Precision/Recall по проблеме с несколькими классами. Вы должны получить Precision/Recall для каждого класса, и вы можете вычислить средневзвешенное значение.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню