O documento apresenta uma introdução sobre inteligência artificial e machine learning. A agenda inclui tópicos como o mercado atual, definição de IA/ML, conhecimentos recomendados, tipos de aprendizagem, passos para treinamento de modelos, AutoML, problemas comuns e implementação de modelos. O palestrante também apresenta uma demonstração prática usando um conjunto de dados sobre clientes de cartão de crédito.
3. ● 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
4. 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
10. ● 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
12. 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
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Ã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
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/
18. 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
19. 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.
20. 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
21. 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
23. 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
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
26. 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,
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
31. 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
32. Cenário Hands-On
● Análise estatística de alguns dados:
○ Consumidores que estão no cartão:
○ Consumidores que deixaram o cartão:
35. 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