Получить значения отзыва (чувствительности) и точности (PPV) многоклассовой задачи в PyML - PullRequest
1 голос
/ 04 октября 2010

Я использую 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

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

1 Ответ

4 голосов
/ 11 октября 2010

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

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

...