Poderia ser a partir dos próprios dados? Ou é porque o modelo não pode detectar com eficiência as semelhanças entre os dados ou existem outras razões para classificar incorretamente?
Poderia ser a partir dos próprios dados? Ou é porque o modelo não pode detectar com eficiência as semelhanças entre os dados ou existem outras razões para classificar incorretamente?
Respostas:
Vamos supor que você esteja falando de má classificação nos dados de treinamento, ou seja, difícil minimizar a perda no conjunto de dados de treinamento, sem problemas de excesso de dados de teste envolvidos.
Você está certo de que, na maioria dos casos, a classificação incorreta pode vir de "o modelo é muito simples" ou "os dados são muito ruidosos". Eu gostaria de dar dois exemplos para ilustrar melhor.
O modelo é "muito simples" para capturar os "padrões nos dados".
O exemplo é mostrado na figura esquerda. Suponha que desejemos usar uma regressão logística / uma linha para separar duas classes, mas as duas classes não são separáveis linearmente.
Nesse caso, ainda existem "padrões notáveis nos dados" e, se mudarmos o modelo, podemos melhorar. Por exemplo, se usarmos o classificador KNN, em vez de regressão logística, podemos ter um desempenho muito bom.
Os dados têm muito ruído, é muito difícil executar a tarefa de classificação.
Observe que os dois exemplos são triviais, pois podemos visualizar os dados e o classificador. No mundo real, não é o caso, quando temos milhões de pontos de dados e classificadores super 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)
Além de @ hxd1011 (+1).