Limpeza automática de dados

10

Um problema comum é que o ML é de baixa qualidade dos dados: erros nos valores dos recursos, instâncias classificadas incorretamente, etc.

Uma maneira de resolver esse problema é passar manualmente pelos dados e verificar, mas existem outras técnicas? (Aposto que existem!)

Quais são os melhores e por quê?

andreister
fonte
O Google Refine pode valer uma olhada.
Dimitriy V. Masterov 23/02/12

Respostas:

6

A redução da dimensionalidade através de algo como o PCA seria útil para ter uma idéia do número de dimensões críticas para representar seus dados.

Para verificar instâncias classificadas incorretamente, você pode fazer um agrupamento rudimentar de K-means de seus dados para ter uma idéia de quão bem seus dados brutos se ajustariam às categorias propostas. Embora não seja automático, a visualização nesse estágio seria útil, pois seu cérebro visual é um classificador poderoso por si só.

Em termos de dados totalmente ausentes, as estatísticas já têm inúmeras técnicas para lidar com essa situação, incluindo imputação, coleta de dados do conjunto existente ou outro conjunto para preencher as lacunas.

jonsca
fonte
3
Plotar dados é uma verificação manual.
22412 andreisterister
@andreister Considero que a verificação ponto a ponto em uma planilha é uma verificação manual, mas tudo bem, vejo o que você está recebendo.
jonsca
5

Você não pode realmente remover uma pessoa experiente do loop e esperar resultados razoáveis. Isso não significa que a pessoa precise examinar cada item individualmente, mas, no final das contas, é necessário algum conhecimento real para saber se os resumos / gráficos de dados são razoáveis. (Por exemplo: a variável A pode ser negativa, a variável B pode ser maior que a variável A ou existem 4 ou 5 opções para a variável categórica C?)

Depois de analisar os dados com conhecimento humano, provavelmente você poderá fazer uma série de regras que poderá usar para testar os dados automaticamente. O problema é que podem surgir outros erros nos quais você não pensou. (Por exemplo, um erro de programação no processo de coleta de dados que duplica a variável A para a variável C.)

Wayne
fonte
Ótima resposta. Eu acrescentaria apenas para garantir que a sintaxe usada para limpar as variáveis ​​seja mantida na documentação, com comentários, se não passagens descritivas, sobre por que as coisas foram alteradas. :)
Michelle
1

Se você sabe que seus dados não são muito bons, é sempre bom verificar também outliers. Na maioria das vezes, existem anomalias.

Se você possui muitos recursos, a redução da dimensionalidade é uma obrigação. O PCA é bastante eficiente para isso.

Se houver dados ausentes, é possível usar imputação ou interpolação, mas se suas necessidades permitirem, o caso vencedor é usar a filtragem colaborativa.

vonPetrushev
fonte