Obtener el recuerdo (sensibilidad) y los valores de precisión (PPV) de un problema multi-clase en PyML
-
27-09-2019 - |
Pregunta
Estoy utilizando PyML para la clasificación SVM. Sin embargo, he notado que cuando evalúo un clasificador multiclase usando LOO, el objeto resultados no informa los valores de sensibilidad y de PPV. Al contrario, son 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
He mirado el código, pero no podía entender lo que está mal aquí. Tiene alguien una solución para esto?
Solución
No se pueden obtener las medidas habituales de precisión / Recall en un problema multi-clase. Usted tiene que conseguir precisión / Recall para cada clase, y se puede calcular un promedio ponderado.
No sé acerca de los detalles de PyML, pero que sólo puede ir a través de las predicciones y calcularlos para cada clase.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow