我用PyML进行支持向量机分类。然而,我注意到当我使用LOO评估多类分类器时,results对象没有报告敏感度和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
我看了代码,但不知道这里出了什么问题。有人能解决这个问题吗?在
对于多类灵敏度计算,可以使用scikit-learn metrics API。在
例如,如果
^{pr2}$Y
有4个类,那么结果将是一个数组,每个类的敏感度都是。在对于多类问题,您无法获得通常的精度/召回度量。你必须得到每个类的精确性/召回率,你可以计算一个加权平均数。在
我不知道PyML的具体细节,但是您可以浏览一下这些预测并为每个类计算它们。在
相关问题 更多 >
编程相关推荐