获取PyML中多类问题的调用(灵敏度)和精度(PPV)值

问题描述:

我正在使用PyML进行SVM分类。但是,我注意到,当我使用LOO评估多分类分类器时,结果对象不报告灵敏度和PPV值。相反,他们是0.0:获取PyML中多类问题的调用(灵敏度)和精度(PPV)值

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 

我看过代码,但无法弄清楚这里出了什么问题。有人为此做了一个解决方法吗?

对于多类问题,您无法获得通常的精度/回调测量。您必须为每个班级获得精确/回忆,并且您可以计算加权平均值。

我不知道PyML的细节,但你可以通过预测并为每个类计算它们。