Obtener el recuerdo (sensibilidad) y los valores de precisión (PPV) de un problema multi-clase en PyML

StackOverflow https://stackoverflow.com/questions/3856013

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?

¿Fue útil?

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
scroll top