Machine Learning com Python: A
vida como ela é!
Ludimila Gonçalves
ludigoncalves.11@gmail.com
* Inspirada na apresentação ”Machine Learning com Python: Da Teoria ao Primeiro Deploy em Produção” por Bruno
Ábia
Quem sou eu?
★ Humaitá-AM
★ Bacharel em Ciência da Computação (UFAM)
★ Mestre em Informática (UFAM)
★ Doutoranda em Informática (UFAM)
★ Cientista de Dados na Lojas Bemol
2
Intro
★ Poucos dados
★ Dados limpos e balanceados
★ Desempenho estatístico
★ Modelos complexos
★ Equações robustas
★ Artigos científicos
★ Domínios não são considerados
3
★ Grandes massas de dados
★ Muito pré-processamento e
ruído
★ Modelos simples e eficientes
★ Fluxos de dados constantes
★ Big data
Academia Empresas
Intro
O mercado
★ Análise de dados hoje é imprescindível para as organizações
★ Melhoria de regras de negócio, tomada de decisões, economia, etc.
O profissional de ciência dos dados
★ Sempre estar atento às demandas do mercado e aos objetivos do negócio
★ O momento de por em prática todo o conhecimento adquirido na academia
4
Aaaah a tecnologia… ♡
5
Métodos simples resolvem bem nossa vida!
★ Ensemble + Boosting
○ RandomForest
○ ExtraTrees
○ AdaBoost
○ Gradient Boosting
○ Extreme Gradient Boosting
○ Light Gradient Boosting
6
Ensemble + Boosting
Fig. www.analyticsvidhya.com 7
Processo de desenvolvimento padrão em ML
8
Base de dados Pré-processamento Extração de
características
Modelo
Previsão/Avaliação
do modelo
Processo de desenvolvimento padrão em ML
9
Base de
dados
Pré-processamento Extração de
características
Modelo
Padrão
Previsão/Avaliaçã
o do modelo
Modelo com
tuning
Previsão/Avaliação do
modelo c/ tuning
Estudo de
características
Modelo Padrão p/
novo espaço de
características
Modelo com tuning
p/ novo espaço de
características
Previsão/Avaliação
do modelo
FIM
Antes de tudo… analisar bem o problema!
★ Entender o escopo do problema e o objetivo é imprescindível para a estrutura da
experimentação:
○ Ex: previsão de venda -> respeitar a ordem temporal dos dados -> simular a produção
★ Como vai funcionar em produção?
★ O dia da semana faz diferença no meu modelo?
★ É um problema de regressão ou classificação?
★ Quais métricas eu devo usar para avaliar meu modelo?
10
É hora de praticar!
★ Problema: prever vendas diárias
★ Desafios:
○ A loja não funciona aos domingos (E AGORA? /o)
○ O(s) modelo(s) (por onde começo?)
★ Abordagem:
○ Modelos de regressão
○ Experimentação com walk forward
○ Mean Absolute Error - MAE + Mean Absolute Percentage Error MAPE
11
Metodologia Experimental
1212
Base de
dados
Pré-processamento Extração de
características
Baseline MAE e MAPE Modelo
sofisticado
MAE e MAPEPrevisão/Avaliação
do modelo c/ tuningMAE e MAPE
FIM
Nossos dados
13
Pré-processamento
14
Extração de características
15
Abordagem experimental: Walk-Forward
16
Os datasets
17
Algumas estatísticas...
18
Construindo um baseline...
19
Construindo um baseline...
★ Resultados para o primeiro teste
20
21
Construindo um baseline...
★ Resultados para o segundo teste
Análise dos dados
22
Análise dos dados
23
Construindo uma abordagem mais sofisticada...
24
Construindo uma abordagem mais sofisticada...
★ Resultados para o primeiro teste
25
Construindo uma abordagem mais sofisticada...
★ Importância das características
26
Construindo uma abordagem mais sofisticada...
★ Resultados para o segundo teste
27
Construindo uma abordagem mais sofisticada...
★ Resultados para o segundo teste
28
Com o walk-forward nós
diminuímos o ruído nos dados!!
Tuning dos paramêtros do modelo!
29
Nosso resultado tunadão
★ Resultados para o segundo teste com tuning de parâmetros
30
O que ainda poderia ser feito??
★ Análise de características para diminuir o espaço (caso tivéssemos mais
características)
★ Combinação de modelos
★ Testar com mais janelas de dados
31
Agora é só armazenar o modelo para a produção
32
Conclusão
★ Previsão de vendas - meu primeiro projeto da vida real!
★ Não devemos somente nos preocupar com os algoritmos de machine learning, a
análise do problema é essencial ;)
★ Machine learning no dia-a-dia não precisa de um super melhor modelo do mundo
★ Não precisa ser um super guru de machine learning para fazer coisas como
vimos hoje :))
33
DICAS DA ALEGRIA!!
★ Tutoriais são vida gente!
★ Você vai se tornar melhor amigo da documentação do scikit-learn e do pandas,
não se preocupe em não saber funções decoradas, ok?
★ Meus guias espirituais:
○ https://towardsdatascience.com/
○ https://machinelearningmastery.com/
○ https://www.analyticsvidhya.com/
○ http://kaggle.com/
34
35

Machine learning com Python: a vida como ela é!

  • 1.
    Machine Learning comPython: A vida como ela é! Ludimila Gonçalves ludigoncalves.11@gmail.com * Inspirada na apresentação ”Machine Learning com Python: Da Teoria ao Primeiro Deploy em Produção” por Bruno Ábia
  • 2.
    Quem sou eu? ★Humaitá-AM ★ Bacharel em Ciência da Computação (UFAM) ★ Mestre em Informática (UFAM) ★ Doutoranda em Informática (UFAM) ★ Cientista de Dados na Lojas Bemol 2
  • 3.
    Intro ★ Poucos dados ★Dados limpos e balanceados ★ Desempenho estatístico ★ Modelos complexos ★ Equações robustas ★ Artigos científicos ★ Domínios não são considerados 3 ★ Grandes massas de dados ★ Muito pré-processamento e ruído ★ Modelos simples e eficientes ★ Fluxos de dados constantes ★ Big data Academia Empresas
  • 4.
    Intro O mercado ★ Análisede dados hoje é imprescindível para as organizações ★ Melhoria de regras de negócio, tomada de decisões, economia, etc. O profissional de ciência dos dados ★ Sempre estar atento às demandas do mercado e aos objetivos do negócio ★ O momento de por em prática todo o conhecimento adquirido na academia 4
  • 5.
  • 6.
    Métodos simples resolvembem nossa vida! ★ Ensemble + Boosting ○ RandomForest ○ ExtraTrees ○ AdaBoost ○ Gradient Boosting ○ Extreme Gradient Boosting ○ Light Gradient Boosting 6
  • 7.
    Ensemble + Boosting Fig.www.analyticsvidhya.com 7
  • 8.
    Processo de desenvolvimentopadrão em ML 8 Base de dados Pré-processamento Extração de características Modelo Previsão/Avaliação do modelo
  • 9.
    Processo de desenvolvimentopadrão em ML 9 Base de dados Pré-processamento Extração de características Modelo Padrão Previsão/Avaliaçã o do modelo Modelo com tuning Previsão/Avaliação do modelo c/ tuning Estudo de características Modelo Padrão p/ novo espaço de características Modelo com tuning p/ novo espaço de características Previsão/Avaliação do modelo FIM
  • 10.
    Antes de tudo…analisar bem o problema! ★ Entender o escopo do problema e o objetivo é imprescindível para a estrutura da experimentação: ○ Ex: previsão de venda -> respeitar a ordem temporal dos dados -> simular a produção ★ Como vai funcionar em produção? ★ O dia da semana faz diferença no meu modelo? ★ É um problema de regressão ou classificação? ★ Quais métricas eu devo usar para avaliar meu modelo? 10
  • 11.
    É hora depraticar! ★ Problema: prever vendas diárias ★ Desafios: ○ A loja não funciona aos domingos (E AGORA? /o) ○ O(s) modelo(s) (por onde começo?) ★ Abordagem: ○ Modelos de regressão ○ Experimentação com walk forward ○ Mean Absolute Error - MAE + Mean Absolute Percentage Error MAPE 11
  • 12.
    Metodologia Experimental 1212 Base de dados Pré-processamentoExtração de características Baseline MAE e MAPE Modelo sofisticado MAE e MAPEPrevisão/Avaliação do modelo c/ tuningMAE e MAPE FIM
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
    Construindo um baseline... ★Resultados para o primeiro teste 20
  • 21.
    21 Construindo um baseline... ★Resultados para o segundo teste
  • 22.
  • 23.
  • 24.
    Construindo uma abordagemmais sofisticada... 24
  • 25.
    Construindo uma abordagemmais sofisticada... ★ Resultados para o primeiro teste 25
  • 26.
    Construindo uma abordagemmais sofisticada... ★ Importância das características 26
  • 27.
    Construindo uma abordagemmais sofisticada... ★ Resultados para o segundo teste 27
  • 28.
    Construindo uma abordagemmais sofisticada... ★ Resultados para o segundo teste 28 Com o walk-forward nós diminuímos o ruído nos dados!!
  • 29.
  • 30.
    Nosso resultado tunadão ★Resultados para o segundo teste com tuning de parâmetros 30
  • 31.
    O que aindapoderia ser feito?? ★ Análise de características para diminuir o espaço (caso tivéssemos mais características) ★ Combinação de modelos ★ Testar com mais janelas de dados 31
  • 32.
    Agora é sóarmazenar o modelo para a produção 32
  • 33.
    Conclusão ★ Previsão devendas - meu primeiro projeto da vida real! ★ Não devemos somente nos preocupar com os algoritmos de machine learning, a análise do problema é essencial ;) ★ Machine learning no dia-a-dia não precisa de um super melhor modelo do mundo ★ Não precisa ser um super guru de machine learning para fazer coisas como vimos hoje :)) 33
  • 34.
    DICAS DA ALEGRIA!! ★Tutoriais são vida gente! ★ Você vai se tornar melhor amigo da documentação do scikit-learn e do pandas, não se preocupe em não saber funções decoradas, ok? ★ Meus guias espirituais: ○ https://towardsdatascience.com/ ○ https://machinelearningmastery.com/ ○ https://www.analyticsvidhya.com/ ○ http://kaggle.com/ 34
  • 35.