¿Podría ser de los datos en sí? ¿O es porque el modelo no puede detectar eficientemente las similitudes entre los datos, o hay otras razones para una clasificación errónea?
¿Podría ser de los datos en sí? ¿O es porque el modelo no puede detectar eficientemente las similitudes entre los datos, o hay otras razones para una clasificación errónea?
Respuestas:
Supongamos que está hablando de una clasificación errónea en los datos de entrenamiento, es decir, es difícil minimizar la pérdida en el conjunto de datos de entrenamiento, no hay problema de sobreajuste de datos de prueba.
Tiene razón en que, en la mayoría de los casos, la clasificación errónea puede provenir de "el modelo es demasiado simple" o "los datos son demasiado ruidosos". Me gustaría dar dos ejemplos para ilustrar más.
El modelo es "demasiado simple" para capturar los "patrones en los datos".
El ejemplo se muestra en la figura de la izquierda. Supongamos que queremos usar una regresión logística / una línea para separar dos clases, pero las dos clases no son linealmente separables.
En este caso, todavía hay "patrones notables en los datos", y si cambiamos el modelo, podemos mejorar. Por ejemplo, si usamos el clasificador KNN, en lugar de la regresión logística, podemos tener un rendimiento muy bueno.
Los datos tienen demasiado ruido, es muy difícil hacer la tarea de clasificación.
Tenga en cuenta que los dos ejemplos son triviales, ya que podemos visualizar los datos y el clasificador. En el mundo real, no es el caso, cuando tenemos millones de puntos de datos y clasificadores súper complicados.
Código:
library(mlbench)
set.seed(0)
par(mfrow=c(1,2))
d=mlbench.spirals(500)
plot(d)
lg_fit=glm(d$classes~d$x[,1]+d$x[,2]-1,family=binomial())
abline(0,-lg_fit$coefficients[1]/lg_fit$coefficients[2])
d2=mlbench.2dnormals(500,r=0.01)
plot(d2)
Además de @ hxd1011 (+1).