Repositório para entrega do teste técnico - Cognitivo.ai
Segui as seguintes etapas:
-
Análise Exploratória de Dados
- Valores Ausentes
- Distribuição/Tipo das Variáveis
- Análise de outliers
- Correlações
-
Pré-processamento
- Remoção de Outliers
- Seleção de Atributos
- Transformação de Atributos
-
Divisão Treino/Teste
-
Ajuste de Hiperparâmetros
- Validação Cruzada
-
Treinamento e Validação do Modelo de Regressão
Comparei a performance de 3 modelos distintos:
- Regressão linear com expansão de base polinomial e regularização ridge
- Árvore de Decisão
- Multilayer Perceptron
A função de custo da regressão linear é a função de mínimos quadrados lineares (LLS).
Para a árvore de decisão, foi utilizado a função do Erro Quadrático Médio (MSE).
Para a MLP, foi experimentado a função de custo MSLE. A MSLE não penaliza tanto a presença de outliers quanto a MSE.
Dentre os 3 modelos testados, quis englobar modelos que:
- Fossem capazes de capturar efeitos não-lineares
- Tivessem princípios de funcionamento não-correlacionados
- Fossem robustos a atributos irrelevantes
O modelo foi avaliado em termos do MSE e também pelo MAE calculado no conjunto de testes.
Escolhi o MAE por apresentar as mesmas unidades da variável alvo (Reais). Desta maneira, o resultado do erro é mais facilmente interpretável.
No caso da MLP, o modelo também foi avaliado com base no histórico de treinamento: Training loss vs Validation loss, para avaliar under/overfitting.
O MAE nos dá uma boa indicação da performance do modelo. Os 3 modelos se equipararam, indicando que não há um erro de modelagem muito grande em qualquer um deles. No caso da MLP, foi avaliado o histórico de treinamento para verificação de overfitting. O erro apresentado muito provavelmente se dá a efeitos não capturados pelas variáveis de entrada.
Como expansão desta análise, poderíamos voltar à etapa de exploração para tentarmos extrair mais informação dos dados extraídos, e procurar mais fontes de dados para possivelmente enriquecer nossas variáveis de entrada.