Ao construir um modelo preditivo usando técnicas de aprendizado de máquina, qual é o sentido de fazer uma análise exploratória de dados (EDA)? Não há problema em ir direto à geração de recursos e à construção de seus modelos? Como as estatísticas descritivas usadas na EDA são importantes?
23
[descriptive-statistics]
tag e sua pergunta final é se a estatística descritiva é importante. Nesse contexto, você só quer dizer computar várias estatísticas descritivas quando menciona a EDA ou está perguntando sobre estatística descritiva e EDA? Eu pergunto porque muitas pessoas (inclusive eu) pensam na EDA como mais do que apenas estatísticas descritivas.Respostas:
Há pouco tempo, eu tinha uma tarefa de entrevista para uma posição de ciência de dados. Recebi um conjunto de dados e me pediram para construir um modelo preditivo para prever uma determinada variável binária, dadas as outras, com um prazo de algumas horas.
Analisei cada uma das variáveis, por sua vez, fazendo gráficos, calculando estatísticas resumidas etc. Também calculei correlações entre as variáveis numéricas.
Entre as coisas que encontrei foram:
Meu argumento é que essas foram as coisas que foram colocadas deliberadamente para ver se as pessoas as notariam antes de tentar construir um modelo. A empresa os colocou porque eles são o tipo de coisa que pode acontecer na vida real e afetam drasticamente o desempenho do modelo.
Então, sim, a EDA é importante ao fazer aprendizado de máquina!
fonte
Obviamente sim.
A análise dos dados pode levar a muitos pontos que prejudicariam seu modelo preditivo:
Dados incompletos
Supondo que estamos falando de dados quantitativos, você terá que decidir se deseja ignorar a coluna (se houver muitos dados ausentes) ou descobrir qual será o seu valor "padrão" (Média, Modo, Etc). Você não pode fazer isso sem explorar seus dados primeiro.
Dados anormais
Digamos que você tenha dados fortemente correlacionados, mas há 2% dos seus dados que estão muito longe dessa correlação. Você pode remover esses dados completamente para ajudar seu modelo preditivo
Remover colunas com muita correlação
Ok, isso contradiz um pouco meu ponto anterior, mas o inglês não é minha língua principal, então espero que você entenda.
Vou dar um exemplo idiota, digamos que você analisa o conjunto de dados de um estádio de futebol e você tem
Width, Length, Area
como parâmetros. Bem, podemos facilmente imaginar que esses três parâmetros estarão fortemente correlacionados. Ter muita correlação entre sua coluna leva o modelo preditivo na direção errada. Você pode decidir liberar um ou mais dos parâmetros.Encontre novos recursos
Vou dar o exemplo da pequena "competição" do Titanic Kaggle . Ao olhar para os nomes das pessoas, você pode descobrir que pode extrair um recurso que é o
Title
da pessoa. Esse recurso acaba sendo muito importante quando se trata de modelagem, mas você o teria perdido se não analisasse seus dados primeiro.Você pode decidir agrupar seus dados contínuos porque parece mais apropriado ou transformar um recurso contínuo em um categórico.
Encontre que tipo de algoritmo usar
Não posso desenhar gráficos agora, mas vamos fazer deste um exemplo simples.
Imagine que você tenha um modelo pequeno com uma coluna de recurso e uma coluna "resultado" binária (apenas 0 ou 1). Você deseja criar um modelo de classificação preditiva para esse conjunto de dados.
Se, mais uma vez, como exemplo, você tiver que plotá-lo (analise seus dados), poderá perceber que o gráfico forma um círculo perfeito em torno do seu valor 1. Nesse cenário, seria óbvio que você poderia usar um classificador polinomial para ter um ótimo modelo em vez de pular direto para o DNN. (Obviamente, considerando que há apenas duas colunas no meu exemplo, não é um excelente exemplo, mas você entendeu)
No geral, você não pode esperar que um modelo preditivo tenha um bom desempenho se não olhar primeiro os dados.
fonte
Uma coisa importante feita pela EDA é encontrar erros de entrada de dados e outros pontos anômalos.
Outra é que a distribuição de variáveis pode influenciar os modelos que você tenta ajustar.
fonte
Costumávamos ter uma frase em química:
" Duas semanas passadas no laboratório podem economizar duas horas no Scifinder ".
Tenho certeza que o mesmo se aplica ao aprendizado de máquina:
" Duas semanas dedicadas ao treinamento de uma rede neural podem economizar 2 horas observando os dados de entrada ".
Essas são as coisas pelas quais eu passaria antes de iniciar qualquer processo de ML.
Além dessas etapas básicas, eu não gastaria muito tempo olhando os dados antes de aplicar os processos de ML a eles. Se você já possui um grande número de variáveis, as combinações não lineares complicadas delas ficam cada vez mais difíceis, não apenas para encontrar, mas para plotar e entender. Esse é o tipo de coisa melhor manipulada pelo computador.
fonte
Perspectiva estatística:
Deixando de lado os erros no estágio de modelagem, há três resultados prováveis de tentativa de previsão sem primeiro fazer a EDA:
Perspectiva de gerenciamento de projetos:
Resolver problemas de dados pode levar uma quantidade significativa de tempo e esforço. Por exemplo:
Quanto mais cedo você identificar esses problemas, maiores serão suas chances de manter seu projeto nos trilhos, de terminar no prazo e de fazer seus clientes felizes.
fonte