Começando com
Inteligência Artificial e
Machine Learning
Aprenda sobre o tamanho potencial
e possibilidade no segmento
Patrocínio:
● Mestre em engenharia de software pelo IPT
● + 12 anos de experiência em projetos de
automação industrial, engenharia de
dados/software e ciência de dados
● Atualmente combina conhecimentos técnicos e
gestão de equipes que envolvem tecnologias de
Big Data como: streaming, data discovery,
plataforma de dados em ambientes de nuvem
● Entusiasta de Python, tem trabalhado com
tecnologias de ponta como Airflow, Spark, K8s,
Kafka, Amundsen e stack AWS
Quem sou eu?
Raphael Castilho Gil / Tech
Manager
Agenda
1 - Mercado Atual.
2 - O que é IA/Machine Learning?
3 - Conhecimentos recomendados
4 - Tipos de Aprendizagem
5 - Passos para o treinamento de um modelo
6 - AutoML
7 - Problemas comum com Data Science
8 - Criei meu modelo, e agora?
9 - Hands-On
Mercado Atual 01
Mercado Atual
Fonte:
https://quanthub.com/data-scientist-shortage-2020/
O que é IA/Machine
Learning? 02
O que é IA/Machine Learning?
Fonte:
https://medium.com/@harish_6956/what-is-ma
chine-learning-deep-learning-7788604004da
Conhecimentos
Recomendados 03
● Estatística;
● Conhecer alguns algoritmos
○ Como encontra-los nas bibliotecas também
ajuda.
● Programação;
○ Python ou R são as linguagens preferidas
● Preparação dos dados
● Estruturação dos dados
○ Lembrando que existem estratégias para
pequena massa de dados e outras para uma
grande massa de dados.
● Conhecimento no Negócio
○ Importante saber o que você quer resolver; e
qual a dor do negócio;
Conhecimentos Recomendados
Ferramentas
Fonte:
https://towardsdatascience.com/feature-selection-techniques-in-mach
ine-learning-with-python-f24e7da3f36e
Ferramentas
Biblioteca desenvolvida com
múltiplos algoritmos desenvolvidos
Biblioteca desenvolvida em
python que tende a realizar uma
maior abstração para simplificar a
utilização de redes neurais
Biblioteca desenvolvida em
python que tende a realizar uma
maior abstração para simplificar a
utilização de redes neurais
Módulo do framework Spark para
utilização em múltiplas aplicações de ML
e focado em grande massa de dados.
Framework criada para a
linguagem Python para
manipulação e análise de dados
Tipos de
Aprendizagem 04
Tipos de aprendizagem
SUPERVISIONADOS:
● Classificação:
○ Predizer um resultado em relação às
classes já existentes;
○ Tipos de algoritmos:
■ SVM (Support vector Machine)
■ Árvore de Decisão
■ Classificação Naïve Bayes
● Regressão:
○ Predizer um valor futuro numérico;
○ Tipos de algoritmos:
■ Regressão linear
■ Regressão Logística
■ SVR
Fonte:https://medium.com/diogo-menezes-borges/machi
ne-learning-with-or-without-human-supervision-b47b3a2
835f3
Tipos de aprendizagem
NÃO SUPERVISIONADO:
● Sem rótulos nos dados;
● Descobrir similaridade entre os
objetos
● Tipos de algoritmo:
○ Algoritmo de agrupamento;
○ Decomposição em valores
singulares
○ Análise de Componentes
Principais
Fonte:https://medium.com/diogo-menezes-borges/machi
ne-learning-with-or-without-human-supervision-b47b3a2
835f3
Tipos de aprendizagem
● Comprimento de largura das suas
pétalas e sépalas.
● Conseguimos identificar 3 grupos
segregados, sem saber os rótulos de
cada flor
Fonte:
https://www.lambda3.com.br/2020/03/aprendizagem-nao
-supervisionada/
Passos para o
treinamento de um
modelo 05
Passos para treinamento de um modelo
● Passos para criação de um modelo clássico:
○ Feature Selection: Fase na qual realiza-se uma busca por padrões e relacionamento para resposta final
(Normalmente despende-se 80% do tempo nessa fase). Nessa fase também ocorre a qualidade do dado
(Remoção de Nulos, duplicados, entre outros):
■ Filtragem:
● Usa de Matriz: Mostra o coeficiente de correlação (ou correlação de Person) entre as features
escolhidas;
● Outros métodos estatísticos (Média, Mediana, LDA, ANOVA, Chi-Square, ...)
○ Conjunto:
■ Combinação de filtragem com seleção automática;
Todas as
features
Seleção de
Subset
Aprendizagem Performance
Todas as
features
Geração de
subset
Aprendizagem
+ Performance
Passos para treinamento de um modelo
● Treinamento: O modelo inicia o
treinamento com os dados adquiridos,
pode ser realizada as seguintes
estratégias:
■ 70-30: 70% para treinamento e
30% para avaliação
■ Cross-Validation: Separação
em grupos e coletas de grupos
para treino e validação.
Procedimento e realizado em
diversas ordens.
Passos para treinamento de um modelo
● Treinamento: Fase que pode gerar os
seguintes resultados:
○ OverFitting:
■ Os valores estimados são idênticos ou
muito próximos aos durante o treino.
Pode proporcionar estimativa
equivocada com dados que não
estejam no treino;
■ Causa: Excesso de parâmetros de
entrada, Maior proporção de treino que
da estimativa
○ UnderFitting
■ Alta discrepância entre o real e o
estimado;
■ Causas: Falta de dados para treino ou
pouca quantidade de features de
entrada reduzidos
Passos para treinamento de um modelo
● Avaliação do Treinamento
○ Resultados:
■ Classificatório:
● Precision =
● Recall =
● F1-Score =
■ Regressão:
● R quadrado: Conhecido também com
Coeficiente de Determinação, mede
entre 0 e 1 quanto valor encaixa nos
dados.
Fonte:
https://medium.com/@erika.dauria/looking-at-r-squared-721252709098
AutoML 06
AutoML
● Várias etapas e falta de profissional complica o dia a
dia de geração de modelos, logo surge uma proposta
mais simplificada.
● Alguns frameworks têm surgido para simplificar o dia
a dia e democratizar a entrada no mundo de ML
AutoML
● Mas é a função do Data Scientist, onde fica?
○ Os Data Scientist conseguem focar mais
seu tempo em entender os problemas a
serem resolvidos;
○ Para as empresas será importante para
criar soluçòes simplificadas. Se a cada
problema surgisse tivéssemos um Data
Scientist, não teríamos como gerar
escalabilidade
○ Empresas como Google, Facebook e Sales
Force já tem adotado soluções similares e
mesmo assim vemos as vagas de Data
Scientist crescerem
●
Fonte:
https://towardsdatascience.com/will-automl-be-the-end-of-data-scienti
sts-9af3e63990e0
Problemas comum
com Data Science 07
Problemas comum em Data Science
● Preparação dos seus dados;
● LGPD;
● Comunicação com o negócio;
● Políticas nas empresas;
● Múltiplas fontes de dados;
● Modelos não funcionais na vida real
● Interação com outros times de dados, principalmente
com a Engenharia de Dados,
Criei meu modelo, e
agora? 08
Criei meu modelo, e agora?
● Colocar em produção o modelo pode não ser um
tarefa fácil :
○ Ter um código testado e performático;
○ Como retreinar?
○ O modelo será com dados em tempo
real ou histórico?
● Eis que surge uma nova função e cultura:
Engenheiro de Machine Learning e MLOps
Criei meu modelo, e agora?
● MLOps:
○ Treinar um modelo de forma
performática
○ Criar uma automatização de
treinamento
○ Orquestrar formas automatizadas
de coleta da predição
● ML Engineer:
○ Programação
○ DevOps
■ Docker, K8S;
○ Modelos
○ Computação Distribuída
○ Comunicação
○ Prototipação
Hands-On 09
Cenário Hands-On
● Deafio Kaggle:
https://www.kaggle.com/sakshigoyal7/credit-card-custo
mers
● Git: https://github.com/raphaccgil/deep_tech_ml
● Resumo:
○ Consumidores estão deixando um
companhia de cartão de crédito e o gerente
pretende tomar alguma ação antes que isso
ocorra.
○ A idéia é criar um modelo que, com os dados
disponíveis, consiga predizer clientes que
tenham a possibilidade de deixar de usar o
cartão de crédito
○ Nesse caso, temos disponível 10000 amostras,
sendo que somente 16,07% são amostras de
usuários que deixaram o cartão
Cenário Hands-On
● Análise estatística de alguns dados:
○ Consumidores que estão no cartão:
○ Consumidores que deixaram o cartão:
Cenário Hands-On
● Correlação de Person
○ Consumidores que estão no
cartão:
○ Consumidores que deixaram o
cartão:
Cenário Hands-On
● Features selecionadas
○ Customer_Age;
○ Gender;
○ Education_Level
○ Total_Relationship_Count
○ Months_Inactive_12_mon
○ Credit_Limit
○ Avg_Utilization_Ratio
● Modelos selecionados e resultados
○ SVM
■ Precision: 83,9%
■ F1-Score: 45,6%
○ Gradient Boost
■ Precision: 86,9%
■ F1-Score: 63,5%
Cenário Hands-On
● Possível Arquitetura para Deploy
○ Disponibilizar o dado via Rest
API
○ Container 1 para retreinar o
modelo
○ Container 2 disponibilizar um
servidor de API
○ Orquestrador para retreinar e
carregar um novo arquivo
excel
OBRIGADO!
OBRIGADO!
Tem alguma dúvida?
raphacgil@gmail.com
linkedin.com/in/raphacgil
github.com/raphaccgil

[DTC21] Raphael Castilho - Começando com Inteligência Artificial e Machine Learning

  • 1.
    Começando com Inteligência Artificiale Machine Learning Aprenda sobre o tamanho potencial e possibilidade no segmento
  • 2.
  • 3.
    ● Mestre emengenharia de software pelo IPT ● + 12 anos de experiência em projetos de automação industrial, engenharia de dados/software e ciência de dados ● Atualmente combina conhecimentos técnicos e gestão de equipes que envolvem tecnologias de Big Data como: streaming, data discovery, plataforma de dados em ambientes de nuvem ● Entusiasta de Python, tem trabalhado com tecnologias de ponta como Airflow, Spark, K8s, Kafka, Amundsen e stack AWS Quem sou eu? Raphael Castilho Gil / Tech Manager
  • 4.
    Agenda 1 - MercadoAtual. 2 - O que é IA/Machine Learning? 3 - Conhecimentos recomendados 4 - Tipos de Aprendizagem 5 - Passos para o treinamento de um modelo 6 - AutoML 7 - Problemas comum com Data Science 8 - Criei meu modelo, e agora? 9 - Hands-On
  • 5.
  • 6.
  • 7.
    O que éIA/Machine Learning? 02
  • 8.
    O que éIA/Machine Learning? Fonte: https://medium.com/@harish_6956/what-is-ma chine-learning-deep-learning-7788604004da
  • 9.
  • 10.
    ● Estatística; ● Conheceralguns algoritmos ○ Como encontra-los nas bibliotecas também ajuda. ● Programação; ○ Python ou R são as linguagens preferidas ● Preparação dos dados ● Estruturação dos dados ○ Lembrando que existem estratégias para pequena massa de dados e outras para uma grande massa de dados. ● Conhecimento no Negócio ○ Importante saber o que você quer resolver; e qual a dor do negócio; Conhecimentos Recomendados
  • 11.
  • 12.
    Ferramentas Biblioteca desenvolvida com múltiplosalgoritmos desenvolvidos Biblioteca desenvolvida em python que tende a realizar uma maior abstração para simplificar a utilização de redes neurais Biblioteca desenvolvida em python que tende a realizar uma maior abstração para simplificar a utilização de redes neurais Módulo do framework Spark para utilização em múltiplas aplicações de ML e focado em grande massa de dados. Framework criada para a linguagem Python para manipulação e análise de dados
  • 13.
  • 14.
    Tipos de aprendizagem SUPERVISIONADOS: ●Classificação: ○ Predizer um resultado em relação às classes já existentes; ○ Tipos de algoritmos: ■ SVM (Support vector Machine) ■ Árvore de Decisão ■ Classificação Naïve Bayes ● Regressão: ○ Predizer um valor futuro numérico; ○ Tipos de algoritmos: ■ Regressão linear ■ Regressão Logística ■ SVR Fonte:https://medium.com/diogo-menezes-borges/machi ne-learning-with-or-without-human-supervision-b47b3a2 835f3
  • 15.
    Tipos de aprendizagem NÃOSUPERVISIONADO: ● Sem rótulos nos dados; ● Descobrir similaridade entre os objetos ● Tipos de algoritmo: ○ Algoritmo de agrupamento; ○ Decomposição em valores singulares ○ Análise de Componentes Principais Fonte:https://medium.com/diogo-menezes-borges/machi ne-learning-with-or-without-human-supervision-b47b3a2 835f3
  • 16.
    Tipos de aprendizagem ●Comprimento de largura das suas pétalas e sépalas. ● Conseguimos identificar 3 grupos segregados, sem saber os rótulos de cada flor Fonte: https://www.lambda3.com.br/2020/03/aprendizagem-nao -supervisionada/
  • 17.
  • 18.
    Passos para treinamentode um modelo ● Passos para criação de um modelo clássico: ○ Feature Selection: Fase na qual realiza-se uma busca por padrões e relacionamento para resposta final (Normalmente despende-se 80% do tempo nessa fase). Nessa fase também ocorre a qualidade do dado (Remoção de Nulos, duplicados, entre outros): ■ Filtragem: ● Usa de Matriz: Mostra o coeficiente de correlação (ou correlação de Person) entre as features escolhidas; ● Outros métodos estatísticos (Média, Mediana, LDA, ANOVA, Chi-Square, ...) ○ Conjunto: ■ Combinação de filtragem com seleção automática; Todas as features Seleção de Subset Aprendizagem Performance Todas as features Geração de subset Aprendizagem + Performance
  • 19.
    Passos para treinamentode um modelo ● Treinamento: O modelo inicia o treinamento com os dados adquiridos, pode ser realizada as seguintes estratégias: ■ 70-30: 70% para treinamento e 30% para avaliação ■ Cross-Validation: Separação em grupos e coletas de grupos para treino e validação. Procedimento e realizado em diversas ordens.
  • 20.
    Passos para treinamentode um modelo ● Treinamento: Fase que pode gerar os seguintes resultados: ○ OverFitting: ■ Os valores estimados são idênticos ou muito próximos aos durante o treino. Pode proporcionar estimativa equivocada com dados que não estejam no treino; ■ Causa: Excesso de parâmetros de entrada, Maior proporção de treino que da estimativa ○ UnderFitting ■ Alta discrepância entre o real e o estimado; ■ Causas: Falta de dados para treino ou pouca quantidade de features de entrada reduzidos
  • 21.
    Passos para treinamentode um modelo ● Avaliação do Treinamento ○ Resultados: ■ Classificatório: ● Precision = ● Recall = ● F1-Score = ■ Regressão: ● R quadrado: Conhecido também com Coeficiente de Determinação, mede entre 0 e 1 quanto valor encaixa nos dados. Fonte: https://medium.com/@erika.dauria/looking-at-r-squared-721252709098
  • 22.
  • 23.
    AutoML ● Várias etapase falta de profissional complica o dia a dia de geração de modelos, logo surge uma proposta mais simplificada. ● Alguns frameworks têm surgido para simplificar o dia a dia e democratizar a entrada no mundo de ML
  • 24.
    AutoML ● Mas éa função do Data Scientist, onde fica? ○ Os Data Scientist conseguem focar mais seu tempo em entender os problemas a serem resolvidos; ○ Para as empresas será importante para criar soluçòes simplificadas. Se a cada problema surgisse tivéssemos um Data Scientist, não teríamos como gerar escalabilidade ○ Empresas como Google, Facebook e Sales Force já tem adotado soluções similares e mesmo assim vemos as vagas de Data Scientist crescerem ● Fonte: https://towardsdatascience.com/will-automl-be-the-end-of-data-scienti sts-9af3e63990e0
  • 25.
  • 26.
    Problemas comum emData Science ● Preparação dos seus dados; ● LGPD; ● Comunicação com o negócio; ● Políticas nas empresas; ● Múltiplas fontes de dados; ● Modelos não funcionais na vida real ● Interação com outros times de dados, principalmente com a Engenharia de Dados,
  • 27.
    Criei meu modelo,e agora? 08
  • 28.
    Criei meu modelo,e agora? ● Colocar em produção o modelo pode não ser um tarefa fácil : ○ Ter um código testado e performático; ○ Como retreinar? ○ O modelo será com dados em tempo real ou histórico? ● Eis que surge uma nova função e cultura: Engenheiro de Machine Learning e MLOps
  • 29.
    Criei meu modelo,e agora? ● MLOps: ○ Treinar um modelo de forma performática ○ Criar uma automatização de treinamento ○ Orquestrar formas automatizadas de coleta da predição ● ML Engineer: ○ Programação ○ DevOps ■ Docker, K8S; ○ Modelos ○ Computação Distribuída ○ Comunicação ○ Prototipação
  • 30.
  • 31.
    Cenário Hands-On ● DeafioKaggle: https://www.kaggle.com/sakshigoyal7/credit-card-custo mers ● Git: https://github.com/raphaccgil/deep_tech_ml ● Resumo: ○ Consumidores estão deixando um companhia de cartão de crédito e o gerente pretende tomar alguma ação antes que isso ocorra. ○ A idéia é criar um modelo que, com os dados disponíveis, consiga predizer clientes que tenham a possibilidade de deixar de usar o cartão de crédito ○ Nesse caso, temos disponível 10000 amostras, sendo que somente 16,07% são amostras de usuários que deixaram o cartão
  • 32.
    Cenário Hands-On ● Análiseestatística de alguns dados: ○ Consumidores que estão no cartão: ○ Consumidores que deixaram o cartão:
  • 33.
    Cenário Hands-On ● Correlaçãode Person ○ Consumidores que estão no cartão: ○ Consumidores que deixaram o cartão:
  • 34.
    Cenário Hands-On ● Featuresselecionadas ○ Customer_Age; ○ Gender; ○ Education_Level ○ Total_Relationship_Count ○ Months_Inactive_12_mon ○ Credit_Limit ○ Avg_Utilization_Ratio ● Modelos selecionados e resultados ○ SVM ■ Precision: 83,9% ■ F1-Score: 45,6% ○ Gradient Boost ■ Precision: 86,9% ■ F1-Score: 63,5%
  • 35.
    Cenário Hands-On ● PossívelArquitetura para Deploy ○ Disponibilizar o dado via Rest API ○ Container 1 para retreinar o modelo ○ Container 2 disponibilizar um servidor de API ○ Orquestrador para retreinar e carregar um novo arquivo excel
  • 36.
  • 37.