SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à ML Python Previsão Vendas

Treinamento Agile com Scrum - V2
Treinamento Agile com Scrum - V2Treinamento Agile com Scrum - V2
Treinamento Agile com Scrum - V2Eduardo Bregaida
 
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeis
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeisDesign Thinking nos Jogos Digitais: Conceitos enxutos e ágeis
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeisJoão Ricardo Bittencourt
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoHelder Lopes
 
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSAULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSprofjotamarcosduarte
 
O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?Ariane Izac
 
Construindo uma cultura de agilidade - O processo de transformação de uma eng...
Construindo uma cultura de agilidade - O processo de transformação de uma eng...Construindo uma cultura de agilidade - O processo de transformação de uma eng...
Construindo uma cultura de agilidade - O processo de transformação de uma eng...André Suman Pereira
 
Construindo uma cultura de agilidade - O processo de transformação de uma eng...
Construindo uma cultura de agilidade - O processo de transformação de uma eng...Construindo uma cultura de agilidade - O processo de transformação de uma eng...
Construindo uma cultura de agilidade - O processo de transformação de uma eng...DevCamp Campinas
 
Construindo uma cultura de agilidade - O processo de transformação de uma eng...
Construindo uma cultura de agilidade - O processo de transformação de uma eng...Construindo uma cultura de agilidade - O processo de transformação de uma eng...
Construindo uma cultura de agilidade - O processo de transformação de uma eng...André Suman Pereira
 
O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?Ariane Izac
 
Criando o mvp (minimum viable product)
Criando o mvp (minimum viable product)Criando o mvp (minimum viable product)
Criando o mvp (minimum viable product)Daniel Campos
 
Data Scientist: Onde vive? Como se reproduz? De que se alimenta?
Data Scientist: Onde vive? Como se reproduz? De que se alimenta?Data Scientist: Onde vive? Como se reproduz? De que se alimenta?
Data Scientist: Onde vive? Como se reproduz? De que se alimenta?Ludimila Gonçalves
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGNeubio Ferreira
 
[Congresso Ads & Performance] Modelos preditivos e machine learning - Aplicaç...
[Congresso Ads & Performance] Modelos preditivos e machine learning - Aplicaç...[Congresso Ads & Performance] Modelos preditivos e machine learning - Aplicaç...
[Congresso Ads & Performance] Modelos preditivos e machine learning - Aplicaç...E-Commerce Brasil
 
Teste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTeste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTiago Link
 
Desenvolvimento de Software para Baixa Plataforma
Desenvolvimento de Software para Baixa Plataforma Desenvolvimento de Software para Baixa Plataforma
Desenvolvimento de Software para Baixa Plataforma 7Prods_Solucoes
 
Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Claudia Melo
 
Testador Tipo T
Testador Tipo TTestador Tipo T
Testador Tipo TGTS-CE
 

Similaire à ML Python Previsão Vendas (20)

Treinamento Agile com Scrum - V2
Treinamento Agile com Scrum - V2Treinamento Agile com Scrum - V2
Treinamento Agile com Scrum - V2
 
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeis
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeisDesign Thinking nos Jogos Digitais: Conceitos enxutos e ágeis
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeis
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de Informação
 
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSAULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
 
Aula04
Aula04Aula04
Aula04
 
O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?
 
Construindo uma cultura de agilidade - O processo de transformação de uma eng...
Construindo uma cultura de agilidade - O processo de transformação de uma eng...Construindo uma cultura de agilidade - O processo de transformação de uma eng...
Construindo uma cultura de agilidade - O processo de transformação de uma eng...
 
Treinamento - Scrum.pptx
Treinamento - Scrum.pptxTreinamento - Scrum.pptx
Treinamento - Scrum.pptx
 
Construindo uma cultura de agilidade - O processo de transformação de uma eng...
Construindo uma cultura de agilidade - O processo de transformação de uma eng...Construindo uma cultura de agilidade - O processo de transformação de uma eng...
Construindo uma cultura de agilidade - O processo de transformação de uma eng...
 
Construindo uma cultura de agilidade - O processo de transformação de uma eng...
Construindo uma cultura de agilidade - O processo de transformação de uma eng...Construindo uma cultura de agilidade - O processo de transformação de uma eng...
Construindo uma cultura de agilidade - O processo de transformação de uma eng...
 
O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?
 
Criando o mvp (minimum viable product)
Criando o mvp (minimum viable product)Criando o mvp (minimum viable product)
Criando o mvp (minimum viable product)
 
Data Scientist: Onde vive? Como se reproduz? De que se alimenta?
Data Scientist: Onde vive? Como se reproduz? De que se alimenta?Data Scientist: Onde vive? Como se reproduz? De que se alimenta?
Data Scientist: Onde vive? Como se reproduz? De que se alimenta?
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
 
[Congresso Ads & Performance] Modelos preditivos e machine learning - Aplicaç...
[Congresso Ads & Performance] Modelos preditivos e machine learning - Aplicaç...[Congresso Ads & Performance] Modelos preditivos e machine learning - Aplicaç...
[Congresso Ads & Performance] Modelos preditivos e machine learning - Aplicaç...
 
Teste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTeste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste você
 
Desenvolvimento de Software para Baixa Plataforma
Desenvolvimento de Software para Baixa Plataforma Desenvolvimento de Software para Baixa Plataforma
Desenvolvimento de Software para Baixa Plataforma
 
Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)
 
Testador Tipo T
Testador Tipo TTestador Tipo T
Testador Tipo T
 
Testador tipo t
Testador tipo tTestador tipo t
Testador tipo t
 

ML Python Previsão Vendas

  • 1. 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
  • 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á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
  • 6. Métodos simples resolvem bem 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 desenvolvimento padrão em ML 8 Base de dados Pré-processamento Extração de características Modelo Previsão/Avaliação do modelo
  • 9. 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
  • 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 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
  • 12. 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
  • 20. Construindo um baseline... ★ Resultados para o primeiro teste 20
  • 21. 21 Construindo um baseline... ★ Resultados para o segundo teste
  • 24. Construindo uma abordagem mais sofisticada... 24
  • 25. Construindo uma abordagem mais sofisticada... ★ Resultados para o primeiro teste 25
  • 26. Construindo uma abordagem mais sofisticada... ★ Importância das características 26
  • 27. Construindo uma abordagem mais sofisticada... ★ Resultados para o segundo teste 27
  • 28. Construindo uma abordagem mais sofisticada... ★ Resultados para o segundo teste 28 Com o walk-forward nós diminuímos o ruído nos dados!!
  • 29. Tuning dos paramêtros do modelo! 29
  • 30. Nosso resultado tunadão ★ Resultados para o segundo teste com tuning de parâmetros 30
  • 31. 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
  • 32. Agora é só armazenar o modelo para a produção 32
  • 33. 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
  • 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. 35