Contenido principal

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

average

Calcular las métricas de rendimiento para una curva de característica operativa del receptor (ROC) media en un problema multiclase

Desde R2022a

    Descripción

    [FPR,TPR,Thresholds,AUC] = average(rocObj,type) calcula las medias de las métricas de rendimiento almacenadas en el objeto rocmetrics rocObj para un problema de clasificación multiclase utilizando el método de promediado especificado en type. La función devuelve la tasa de falsos positivos (FPR) media y la tasa de verdaderos positivos (TPR) media para cada valor del umbral de Thresholds. La función también devuelve AUC, el área bajo la curva ROC compuesta por FPR y TPR.

    ejemplo

    Ejemplos

    contraer todo

    Calcule las métricas de rendimiento de un problema de clasificación multiclase creando un objeto rocmetrics y, a continuación, calcule los valores medios de las métricas utilizando la función average. Represente la curva ROC media utilizando las salidas de average.

    Cargue el conjunto de datos fisheriris. La matriz meas contiene mediciones de 150 flores diferentes. El vector species enumera las especies de cada flor. species contiene tres nombres de flores distintos.

    load fisheriris

    Entrene un árbol de clasificación que clasifique las observaciones en una de las tres etiquetas. Realice una validación cruzada del modelo utilizando una validación cruzada de 10 particiones.

    rng("default") % For reproducibility
    Mdl = fitctree(meas,species,Crossval="on");

    Calcule las puntuaciones de clasificación de las observaciones de la partición de validación.

    [~,Scores] = kfoldPredict(Mdl);
    size(Scores)
    ans = 1×2
    
       150     3
    
    

    La salida Scores es una matriz de tamaño 150 por 3. El orden de las columnas de Scores sigue el orden de las clases de Mdl, almacenadas en Mdl.ClassNames.

    Cree un objeto rocmetrics usando las etiquetas verdaderas de species y las puntuaciones de clasificación de Scores. Especifique el orden de las columnas de Scores utilizando Mdl.ClassNames.

    rocObj = rocmetrics(species,Scores,Mdl.ClassNames);

    rocmetrics calcula la FPR y el TPR en diferentes umbrales y encuentra el valor AUC para cada clase.

    Calcule los valores medios de las métricas de rendimiento, incluyendo la FPR y la TPR en diferentes umbrales y el valor AUC, utilizando el método de macropromediado.

    [FPR,TPR,Thresholds,AUC] = average(rocObj,"macro");

    Represente la curva ROC media y muestre el valor AUC medio. Incluya (0,0) para que la curva comience desde el origen (0,0).

    plot([0;FPR],[0;TPR])
    xlabel("False Positive Rate")
    ylabel("True Positive Rate")
    title("Average ROC Curve")
    hold on
    plot([0,1],[0,1],"k--")
    legend(join(["Macro-average (AUC =",AUC,")"]), ...
        Location="southeast")
    axis padded
    hold off

    Alternativamente, puede crear la curva ROC media usando la función plot. Especifique AverageROCType="macro" para calcular las métricas de la curva ROC media utilizando el método de macropromediado.

    plot(rocObj,AverageROCType="macro",ClassNames=[])

    Argumentos de entrada

    contraer todo

    Rendimiento de la clasificación de evaluación de objetos, especificado como un objeto rocmetrics.

    Método de promediado, especificado como "micro", "macro" o "weighted".

    • "micro" (micropromediado): average encuentra la métrica de rendimiento medio tratando todos los problemas de clasificación binaria de uno contra todos como un único problema de clasificación binario. La función calcula los componentes de la matriz de confusión para el problema de clasificación binaria combinado y, luego, calcula la FPR y la TPR medias utilizando los valores de la matriz de confusión.

    • "macro" (macropromediado): average calcula los valores medios de FPR y TPR realizando el promediado de los valores de todos los problemas de clasificación binaria de uno contra todos.

    • "weighted" (macropromediado ponderado): average calcula los valores medios ponderados de FPR y TPR utilizando el método de macropromediado y usando las probabilidades de clase previas (la propiedad Prior de rocObj) como ponderaciones.

    El tipo de algoritmo determina la longitud de los vectores de los argumentos de salida (FPR, TPR y Thresholds). Para obtener más información, consulte Average of Performance Metrics.

    Tipos de datos: char | string

    Argumentos de salida

    contraer todo

    Tasas medias de falsos positivos, devueltas como un vector numérico.

    Tasas medias de verdaderos positivos, devueltas como un vector numérico.

    Umbrales de las puntuaciones de clasificación en los que la función encuentra cada uno de los valores medios de la métrica de rendimiento (FPR y TPR), devueltos como vector.

    Área bajo la curva ROC media compuesta por FPR y TPR, devuelta como un escalar numérico.

    Más acerca de

    contraer todo

    Algoritmos

    contraer todo

    Funcionalidad alternativa

    • Puede utilizar la función plot para crear la curva ROC media. La función devuelve un objeto ROCCurve que contiene las propiedades XData, YData, Thresholds y AUC, que se corresponden con los argumentos de salida FPR, TPR, Thresholds y AUC de la función average, respectivamente. Para ver un ejemplo, consulte Plot Average ROC Curve for Multiclass Classifier.

    Referencias

    [1] Sebastiani, Fabrizio. "Machine Learning in Automated Text Categorization." ACM Computing Surveys 34, no. 1 (March 2002): 1–47.

    Historial de versiones

    Introducido en R2022a