Documente Academic
Documente Profesional
Documente Cultură
-GRADUAÇÃO
● Aula 1
○ Introdução a ML
○ Machine Learning como um Problema de Negócio
○ KNN e Pipeline de ML
● Aula 2
○ Árvore de Decisão e Entropia
○ Fine-tuning
○ Modelagem de uma solução de ML
○ ML em produção
● Avaliação
○ https://docs.google.com/document/d/1sR8hz2KhrCQKxQZDLj1dX_bwDS6UK3Nn8JnWAumxCDY/edit?usp=sharing
Roteiro
Aprendizado
não-supervisionado
trabalha na extração de
padrões de dados
desconhecidos, visa, através
das características dos
indivíduos inferir padrões
que podem ser utilizados nos
problemas.
● Clusterização
● Redução de
Dimensionalidade
Introdução a ML
Aprendizado
supervisionado aprende a
representar os padrões em
dados com
comportamento conhecido
para que sejam utilizados em
novos dados desconhecidos
problemas.
● Classificação
● Regressão
Introdução a ML
● Jogos
Introdução a ML
Informação
Desconhecida
Inferência
Informação
Conhecida Modelo f(X) = y
Introdução a ML
https://medium.com/@andresionek91/a-habilidade-chave-que-voc%C3%AA-precisa-desenvolver-como-cientista-de-dados-2783b272a747
Machine learning como um problema
de negócio…
Similaridade ou
Dissimilaridade
Similaridade
A similaridade é a base de muitos métodos de ML. Parte da ideia de que “se duas
coisas (pessoas, empresas, produtos) são semelhantes em alguns aspectos, costumam
compartilhar outras características também”
● Positividade
d(a,b) >= 0
Similaridade
Dado o espaço vetorial das features, é possível calcular a distância entre os indivíduos
através de diferentes métricas, ex:
● Euclidean
● Manhattan
● Cosine
Similaridade
A = [lon, lat]
B = [lon, lat]
Similaridade
● Música?
Similaridade
David 37 50 2 ? 0
Rachael 22 50 2 Não 15
features target/classe
Similaridade
David Professor 37 50 2 ?
features target/classe
Tipos de Variáveis
Programador 22 50
● Discretas (int)
Gerente de TI 63 200
○ Idade, qtd de filhos
Gerente de TI 59 170
● Método Simples
Emprego EmpregoEnc
● Adicionar informação de ordem
Professor 1
Professor 1
Programador 2
Gerente de TI 3
Gerente de TI 3
Professor 1
https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html
Tipos de Variáveis
Programador 0 1 0
Gerente de TI 0 0 1
Gerente de TI 0 0 1
Professor 1 0 0
Tipos de Variáveis
A codificação das features faz parte da etapa de data preparation. Tem o objetivo de
extrair mais padrões nos dados.
Professor 1 Professor 1 0 0
Professor 1 Professor 1 0 0
Programador 2 Programador 0 1 0
Gerente de TI 3 Gerente de TI 0 0 1
Gerente de TI 3 Gerente de TI 0 0 1
Professor 1 Professor 1 0 0
LabelEncoding OneHotEncoder
Tipos de Variáveis
David 1 0 0 37 50 2
John 1 0 0 35 35 3
Rachael 0 1 0 22 50 2
Ruth 0 0 1 63 200 1
Jefferson 0 0 1 59 170 1
Norah 1 0 0 25 40 4
KNN
KNN - K
Vizinhos mais
próximos
KNN
KNN é um dos modelos preditivos mais simples que existe (70'). Não possui
premissas matemáticas e parte da ideia de que “pontos próximos tem o mesmo
comportamento” ou “Diga-me com quem andas que eu direi quem és!”
A inferência é “buscar” os K
indivíduos mais próximos e fazer
uma votação
Qual K usar?
KNN
● E com k=6?
KNN - Regressão
Prós:
● Simples implementação
● Algoritmo não-paramétrico
● Método caixa-branca e fácil explicação de resultados
Contras:
https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsRegressor.html
https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html
Normalização
David 1 0 0 37 50 2
John 1 0 0 35 35 3
... .. .. .. .. .. ..
David 1 0 0 37 50 2
John 1 0 0 35 35 3
... .. .. .. .. .. ..
Transformação
df = normalize(df)
David 1 0 0 1 1,2 1
... .. .. .. .. .. ..
KNN
https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.MinMaxScaler.html
https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html
Comparação de Resultados
Aproveitando que
estamos falando de
similaridade...
K-means
O método k-means segue a mesma ideia do KNN, mas é usado para treinamento
não-supervisionado. Utiliza a distância dos indivíduos a os K centróides para criar
clusters.
K-means com 3 clusters.... Executa de forma iterativa até não haver mudanças entre
clusters.
K-means
● Índice Dunn
● Índice Davies-Bouldin
● Índice Silhouette
● ..outros
Similaridade
Pipeline de ML
Pipeline de ML
1 0 0 1 1,2 1
.. .. .. .. .. ..
Resposta
(alvo)
Sim
Modelo f(X) = y
Não
...
Pipeline de ML
David Professor 37 50 2
John Professor 35 35 3
Resposta
(alvo)
Sim
Modelo f(X) = y
Não
...
Pipeline de ML
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor scelerisque
quam, vitae aliquet arcu. Class aptent taciti sociosqu ad litora torquent per
conubia nostra, per inceptos himenaeos. Proin rutrum porttitor turpis vel
dignissim. Quisque facilisis quis ligula non eleifend. Nulla facilisi. Donec vita...
Resposta
(alvo)
Não
Modelo f(X) = y
Pipeline de ML
Pipeline
Treinamento
Inferência
Features Transformação Transformação model.predict(...) Inferência
Pipeline de ML
O Sklean tem uma estrutura para trabalhar direto com o pipeline de Data
Preparation + Model
https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html
Pipeline de ML
https://www.kaggle.com/gautham11/building-predictive-models-with-sklearn-pipelines
Pipeline de ML
https://spark.apache.org/docs/latest/ml-pipeline.html
Pipeline de ML
Pipeline f(X) = y
CRISP DM
O pipeline de um projeto de ML é
semelhante ao de qualquer projeto de
dados, está muito ligado ao problema de
negócio que fundamenta as escolhas de
preparação de dados, algoritmos e avaliação
da solução.
Similaridade
O que é um
modelo bom?
Avaliação
70