2 votos

¿Cómo funciona classError en el paquete mclust?

verdadero <- c(1,1,1,2,3,3)
pred <- c(1,1,1,2,2,2)

biblioteca(mclust)

errorClasificacion(verdadero, pred)

Los resultados están clasificados incorrectamente 4 veces y la tasa de error es 0.16667.

No sé cómo obtiene una tasa de error de 0.16667

1voto

La documentación de mclust::classError explica que

Si hay más de un mapeo entre la clasificación predicha y la verdad conocida que corresponde al número mínimo de errores de clasificación, se devuelve solo un posible conjunto de observaciones mal clasificadas.

El mapeo de error mínimo entre pred y true es 1 1, 2 3 (y el verdadero 2 está mal clasificado).

true <- c(1, 1, 1, 2, 3, 3)
pred <- c(1, 1, 1, 2, 2, 2)

mclust::classError(true, pred)
#> $misclassified
#> [1] 4
#> 
#> $errorRate
#> [1] 0.1666667

Especifique explícitamente las etiquetas posibles para obtener el resultado esperado de 2 errores de 6 datos.

pred2 <- factor(pred, levels = 1:3)
true2 <- factor(true, levels = 1:3)

mclust::classError(true2, pred2)
#> $misclassified
#> [1] 5 6
#> 
#> $errorRate
#> [1] 0.3333333

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X