Red de conocimiento informático - Conocimiento de la instalación - Métricas de evaluación del modelo de aprendizaje automático e implementación de R

Métricas de evaluación del modelo de aprendizaje automático e implementación de R

Métricas de evaluación del modelo de aprendizaje automático e implementación de R

1.Curva ROC

Considere un problema de dicotomía en el que las instancias se clasifican como positivas (positivas) o negativas (negativas). Para problemas dicotómicos surgen cuatro situaciones. Si una instancia es positiva y la predicción es positiva, entonces es verdaderamente positiva; si una instancia es negativa y la predicción es positiva, entonces es falsamente positiva. En consecuencia, si se predice que una instancia de la clase negativa será negativa, se denomina verdadero negativo, y si se predice que una instancia de la clase positiva será negativa, se denomina falso negativo.

La lista es como se muestra en la siguiente tabla, 1 representa la categoría positiva y 0 representa la categoría negativa.

La tasa de verdaderos positivos (TPR), también conocida como sensibilidad, se calcula como TPR=TP/ (TP+FN) y representa la proporción de instancias positivas identificadas por el clasificador con respecto a todas las instancias positivas.

La tasa de falsos positivos (FPR) se calcula como FPR = FP / (FP + TN), que es la proporción de instancias negativas que el clasificador juzga erróneamente como positivas con respecto a todas las instancias negativas.

La tasa de verdaderos negativos (TNR), también conocida como especificidad, se calcula como TNR = TN / (FP + TN) = 1 - FPR. En un modelo de clasificación binaria, para resultados obtenidos continuamente, se supone que se ha determinado un valor umbral, como 0,6, y los casos superiores a este valor se clasifican como positivos y los casos inferiores a este valor se clasifican como negativos. Si el umbral se reduce a 0,5, se identificarán más clasificaciones positivas, es decir, aumentará la proporción de casos positivos identificados con respecto a todos los casos positivos, es decir, TPR, pero al mismo tiempo se considerarán positivos más casos negativos. instancias, es decir, la FPR aumentará.

La curva ROC consta de dos variables 1-especificidad (eje x) y sensibilidad (eje y), donde 1-especificidad es FPR y la sensibilidad es TPR. .

Cuanto más cerca esté la región de esta imagen de 1, mejor consideramos que es el clasificador. Intuitivamente, asumiendo que todas nuestras predicciones son 100% correctas, no importa cómo cambie el umbral (excepto cuando el umbral es igual a 0 y 1), nuestra tasa de sensibilidad siempre será igual a 1, y nuestra tasa de especificidad de 1 siempre será igual a 0. Por tanto, la imagen es un cuadrado con área 1, que da los mejores resultados. Simple)

# Etiqueta de predicción

# 1 0.6125478 1

# 2 0.3642710 1

# 3 0.4321361 0

# # 4 0.1402911 0

# # 5 0.3848959 0

# # 6 0.2444155 1

Dibuja el gráfico ROC:

pred <- predicción(ROCR.simple$predicciones, ROCR.simple$labels)

perf <- rendimiento(pred," tpr", "fpr")

plot(perf, colorize =TRUE)

2.Valor AUC

El valor AUC es el área bajo la curva ROC y se puede calcular mediante el siguiente código:

pred < - predicción(ROCR. predicciones $ simples, ROCR.simple$ etiquetas)

auc.tmp <- rendimiento(pred, "auc")

auc <- as.numeric(auc .tmp@y. valores)

3. Curva de recuperación-precisión (PR)

También podemos definir un modelo de clasificación binaria de la lista de columnas:

Luego, calculamos la diferencia por El umbral se utiliza para dibujar la imagen, Recuperación es el eje X y Precisión es el eje Y.

Los gráficos PR pueden tener este tipo de aplicaciones, por ejemplo [1]:

1 Predicción de terremotos

Para la predicción de terremotos, esperamos tener un RECALL muy alto. , es decir, para cada terremoto, queremos predecirlo. En este punto, podemos sacrificar la precisión. Preferimos enviar 1000 alertas y predecir 10 terremotos correctamente que predecir 100 terremotos y predecir 8 correctamente y perder 2.

2. Condena de presuntos delincuentes

De acuerdo con el principio de no acusar injustamente a personas buenas, esperamos que la condena de presuntos delincuentes sea muy precisa. Con el tiempo, a veces dejamos ir a algunos delincuentes (poco recuerdo), pero vale la pena.

Para el clasificador, esencialmente se da una probabilidad. En este punto, seleccionamos un punto de CORTE (umbral). El juicio por encima de este punto es positivo y el juicio por debajo de este punto es positivo. negativo. La elección de este punto debe combinarse con el escenario específico. A su vez, el escenario determinará los criterios utilizados al entrenar el modelo, por ejemplo, en el primer escenario solo veremos la precisión cuando RECALL=99.9999% (todos los aciertos para terremotos), mientras que otras métricas perderán importancia.

Código de dibujo:

pred <- predicción(ROCR.simple$predictions, ROCR.simple$labels)

RP.perf <- rendimiento(pred, "prec", "rec" )

trazar (RP.perf)

#Ver recuperación y precisión en umbrales de 0,1, 0,5, 0,9

trazar ( RP.perf, colorize=T, colorkey.pos="arriba",

print.cutoffs.at=c(0.1,0.5,0.9), text.cex=1,

text.adj=c(1.2, 1.2), lwd=2)

En términos generales, cuanto más hacia arriba esté esta curva, mejor se considerará el modelo. Para la evaluación de esta curva, podemos utilizar el F-score para describirla. Es como usar AUC para describir la República de China.

4. Puntuación F1

La puntuación se define de la siguiente manera:

Podemos usar R para calcular la puntuación F1:

pred <- predicción(ROCR.simple$predicciones, ROCR.simple$labels)

f.perf <- rendimiento(pred, "f")

plot(f. perf) #La abscisa es el umbral

5. Error cuadrático medio RMSE

El modelo de evaluación más utilizado en el modelado de regresión es RMSE (error cuadrático medio). El modelo de evaluación más utilizado en modelos de regresión es RMSE (Root Mean Square Error), también conocido como RMSD (Root Mean Square Deviation), que se define de la siguiente manera:

Donde, yi es el verdadero. valor de la i-ésima muestra, y y^i es el valor predicho de la i-ésima muestra, n es el número de muestras. Esta métrica de evaluación utiliza la distancia euclidiana y se usa ampliamente, pero también tiene algunas desventajas porque. utiliza el error promedio, y el promedio es sensible a los valores atípicos. Si el valor de regresión del regresor en un determinado punto es muy irrazonable, entonces su error será relativamente grande, lo que tendrá un impacto relativamente grande en el valor de RMSE. es decir, el valor promedio no es robusto. Por lo tanto, a veces eliminamos primero los valores atípicos y luego calculamos RMSE.

El código para calcular RMSE en R es el siguiente:

pred <- predicción(ROCR.simple$predicciones, ROCR.simple$labels)