Machine Learning Aplicado
Fluxo de trabalho comum em um projeto de ciência de dados
Machine Learning Aplicado
1 Definição do Problema
1.1 Descrição do problema
- Descrição informal
- Descrição formal
- Premissas
1.2 Dados Fornecidos
- Restrições impostas aos dados
- Definição de cada atributo
1.3 Motivação
- Motivação
- Benefícios
- Uso
2 Resumir/Analisar Dados
2.1 Estatísticas descritivas:
- Estrutura dos dados
- Distribui coes dos dados
- Summary, VarType, Corr Matrix, Count os class labels
2.2 Visualizações
2.2.1 Univariada
Avaliar cada atributo separadamente
ex: tabela de frequência, gráfico de barras, Pareto, linha, histogramas, densidades, boxplots
2.2.2 Bivariada
Avaliar atributos em relação à variável resposta (target)
ex: tabela de contingencia, boxplots, dispersão
2.2.3 Multivariada
Como os atributos são correlacionados entre si
ex: Matrix de correlação
3 Preparar dados
3.1 Seleção de Atributos
Teste Qui-Quadrado Coeficientes de Correlação Algoritmos de eliminação recursiva (RFE) Algoritmos de Regularização (LASSO, Elastic Net, Ridge Regression)
3.2 Limpeza dos dados
Formato, Limpeza, Amostragem
3.3 Testar suposições
Normalidade, igualdades, etc
3.4 Transformação dos dados
Scale, decomposição, agregação
4 Avaliar algoritmos
4.1 Separar dados de treino/validação/teste
Treino/Teste Cross-Validation
4.2 Testar opções e métricas de avaliação
Por nível de dificuldade (do mais fácil para o mais difícil):
- knn, naive-bayes;
- logit, decision tree, lasso, elasticnet;
- randomforest, gbm, xgboost, nnet;
- h2o::automl, autoxgboost, autokeras;
4.3 Algoritmos de verificação
Conferir resultados com modelo baseline
4.4 Comparar algoritmos
definir métricas, tempo de processamento, tempo de estimação etc
5 Melhorar a acurácia
5.1 Tuning algoritmos
Random Search grid Search
5.2 Conjuntos (Ensembles)
modelo hibrido
bagging, boosting, blending
“extreme feature engineering”
6 Finalizar modelo
Contexto Problema Solução Achados Limita coes Conclusões
6.1 Previsões no dataset de teste
Automação?
6.2 Salvar modelo para deploy / Operacionalizar algoritmo
API? Shiny? Script? .RDS?