Você está na página 1de 66

Data Science

com python
módulo 5
Modelagem e avaliação dos resultados

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


O professor

Lucas Roberto Correa

Graduado em Ciência da computação, 2014. Possui MBA em


Investimentos e Private Banking pelo IBMEC. Atua na área de Data
Science desde 2017, com passagens por Itaú, B3, Via Varejo, BTG
Pactual e Grupo Boticário. Adicionalmente, é co-founder da Trading
com Dados, uma escola de programação e ciência de dados voltado ao
mercado financeiro.

Áreas de Interesse: Data Science, Machine Learning, Finance

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Sumário
Pipeline padrão de modelagem

• O que é Machine Learning?

• Modelos supervisionados e não-supervisionados: qual devemos escolher para o nosso problema?

• Transformando os insights da EDA em variáveis

• Manipulações importantes nos dados antes de iniciar a modelagem, ex. One Hot Encoding

• Feature selection - selecionando as variáveis explicativas que discriminam o problema

• Criação da ABT - analytical base table, que será utilizada na modelagem

• Split na base para criação dos datasets de treino e teste

• O que é o cross-validation e como implementar?

• Como evitar o overfitting?

• Como usar o GridSearchCV e o RandomizedSearchCV

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Sumário
Classificação
• Principais modelos de classificação

• Parâmetros a serem customizados

• Principais métricas de avaliação: acurácia, precisão, recall, ROC

• Resolução de case prático


Regressão
• Principais modelos de regressão

• Parâmetros a serem customizados

• Principais métricas de avaliação: R², RMSE, MAE

• Resolução de case prático


Clustering
• Principais modelos de agrupamento

• Parâmetros a serem customizados

• Principais métricas relacionadas: silhouette score

• Resolução de case prático


Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174
Pipeline padrão de
modelagem

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
O que é Machine Learning?

Aprendizado baseado em observações passadas, sem necessidade de programar de forma explícita.

X1 X2 X3 ... Xn Y
20 B "bancos" ... 350 1
30 A "corretoras" ... 400 1
40 C "assets" ... 450 0
50 A "mercado" ... 500 1
60 A "bolsa" ... 550 0
Modelo

Dados históricos
Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174
modelagem
Tipos de modelos

Buscar entender o problema de negócio e verificar se ele pode ser resolvido via aprendizado de máquina:
• Classificação
• Regressão
• Agrupamento

cLASSIFICAÇÃO
X1 X2 X3 ... Xn Y
20 B "bancos" ... 350 1
30 A "corretoras" ... 400 1
40 C "assets" ... 450 0
50 A "mercado" ... 500 1
60 A "bolsa" ... 550 0

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
Tipos de modelos

Buscar entender o problema de negócio e verificar se ele pode ser resolvido via aprendizado de máquina:
• Classificação
• Regressão
• Agrupamento

Regressão
X1 X2 X3 ... Xn Y
20 B "bancos" ... 350 20
30 A "corretoras" ... 400 35
40 C "assets" ... 450 40
50 A "mercado" ... 500 42
60 A "bolsa" ... 550 50

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
Tipos de modelos

Buscar entender o problema de negócio e verificar se ele pode ser resolvido via aprendizado de máquina
• Classificação
• Regressão
• Clustering / Agrupamento

cLUSTERING
X1 X2 X3 ... Xn
20 B "bancos" ... 350
30 A "corretoras" ... 400
40 C "assets" ... 450
50 A "mercado" ... 500
60 A "bolsa" ... 550

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Insights da EDA
Criando variáveis

A etapa de Exploratory Data Analysis tem como principal objetivo analisar e buscar o entendimento sobre os
dados.

Criando o entendimento dos dados, abre a possibilidade de criação de novas variáveis, o que pode auxiliar ainda
mais o train/predict em termos de performance.

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
Tratamento de variáveis categóricas

Antes da realização do treinamento de modelos, alguns processamentos precisam ser feitos no dataframe. Isso
se dá pois o algoritmo não entende dados como: “empreendedor”, “raro”, “positivo”. Tais dados precisam ser
alterados para valores numéricos.

O racional se aplica tanto para as variáveis explicativas como na variável resposta.

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
Resultado

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
Seleção de variáveis

Etapa importante da modelagem, pois não é prudente levar para produção n variáveis que não discriminam a
target e que ainda trazem um grau maior de complexidade na geração da ABT, sem necessidade.

Existem alguns métodos de seleção:


• Filter methods – Essa categoria de método seleciona um subconjunto de features mais relevantes com base
na importância destas em relação a target. Neste contexto é usando todo o conjunto de dados de uma só vez.

Conjunto de todas as features

Selecionando o melhor
subconjunto

Aprendizado do algoritmo

Performance

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
Seleção de variáveis

• Wrapper methods – Métodos dessa classe realizam uma busca das features mais relevantes, baseando-se no
quanto elas ajudam na explicação do fenômeno em estudo. Treinam modelos com subset de dados (colunas e
linhas) e verificam performance.

Conjunto de todas as features


Iterar até melhor subconjunto

Considerando um subconjunto de
todas as features

Aprendizado do algoritmo

Performance

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
Seleção de variáveis

• Embedded methods – Nesta classe de algoritmos, é realizado uma combinação dos métodos de filter e
wrapper, onde subconjuntos de dados são selecionados e o resultado de performance do treinamento é
verificado. Funcionam como o treinamento padrão, mas selecionando o número desejado de features mais
importantes.

Conjunto de todas as features


Iterar até melhor subconjunto

Considerando um subconjunto de
todas as features

Aprendizado do algoritmo Performance

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
Seleção de variáveis

A seleção baseada em filtro deve ser dividida em:

Classificação Regressão Classificação Regressão

LDA Correlação Pearson Chi² ANOVA

X1 Y X1 Y X1 Y X1 Y
20 1 20 11 A 1 A 11
30 1 30 124 B 1 B 124
40 0 40 43 C 0 C 43
50 1 50 55 D 1 D 55
60 0 60 200 E 0 E 200

Testes em variáveis numéricas Testes em variáveis categóricas

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
Seleção de variáveis

A seleção Wrapper pode ser explicada por 3 tipos de abordagens:

Forward Selection: Nesse tipo de seleção a iteração do método começa sem nenhuma variável e começa a
adicionar uma a uma, verificando se ela melhora a performance do algoritmo, isso é feito até que uma nova
variável não adiciona mais na performance do algoritmo, então o processo é encerrado.

Backward Elimination: Backward funciona no sentido oposto do apresentado anteriormente, pois ele inicializa
contendo todas as variáveis e a cada iteração remove a variável com menor contribuição para a modelagem.

Recursive Feature elimination: Nessa abordagem o algoritmo seleciona subset de variáveis e treina modelos,
guarda a melhor e a pior performance, itera com diversos subsets de features até testar todas e então tem qual o
conjunto de melhores variáveis para a modelagem.

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
Seleção de variáveis

A seleção de classe Embedded é a combinação das técnicas de filter e wrapper onde existe um treinamento de
modelos usando o tipo de seletor desejado, fazendo assim a avaliação de performance do algoritmo usado para
train, dado os valores do resultado desse treino, as n variáveis mais relevantes serão mantidas.

Ao usar o método seletor SelectKBest, as melhores features serão mantidas até o final do treinamento. Para isso,
será analisada a feature importance dos algoritmos ou ainda o resultado de beta da equação, dependendo de qual
técnica foi empregada.

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
ABT – Analytical Base Table

É chamada de ABT a tabela final de modelagem, que será dividida entre train/test e executado os testes de n
modelos diferentes, a fim de encontrar a combinação de hiperparâmetros de melhor performance com base na
métrica de qualidade e ajuste escolhida.

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
Train/test

Existe a necessidade de quebrar o dataset de modelagem em train /test, pois essa é a forma de validar qual
modelo tem melhor performance e além disso, se existe indícios de over / underfitting.

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
Cross-validation

Uma das melhores formas de se evitar o overfitting é usar uma das abordagens existentes de validação cruzada:

• Holdout
• K-folds
• Leave-one-out

Dados de test

Iter 1

Iter 2

Iter 3

Iter n
Dataset

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
Overfitting

Nesse processo é importante entender o quanto o modelo está aderente aos dados de treinamento.

O que pode caracterizar o overfitting:


• 100% de acurácia no train
• Diferença entre train / test expressiva

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
GridSearch

O processo de tuning de hiperparâmetros é aplicado nesse tipo de técnica fazendo o treinamento e análise de
performance para todos os conjuntos possíveis. Criando as n combinações em um grid e testando cada uma
delas até convergir para a melhor.

MAX_DEPTH N_ESTIMATORS COMBINAÇÃO


20 100 [(20, 100),(20, 200),(20, 300),
10 200 (20, 550), (20,600) ...
50 300 (40, 600)]
60 550
40 600 N-1

2 ...
N

1
Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174
modelagem
Randomized Search

O processo de tuning de hiperparâmetros é aplicado nesse tipo de técnica fazendo o treinamento e análise de
performance não para todos os conjuntos possíveis. Existe um processo que “pula” algumas combinações até
atingir melhor valor de performance.

4
MAX_DEPTH N_ESTIMATORS
20 100 2 3
10 200 5
50 300
60 550
40 600 1

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


modelagem
Pipeline

Existe uma sequência lógica amplamente aplicada nos projetos de Data Science:

1 2 3 4 5 6 7

Entendimento do Aquisição dos Entendimento dos Feature Modelagem Avaliação dos Deploy
Problema dados dados Engineering resultados

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Relembrando

No conceito de classificação é apresentado um problema onde se deseja saber qual classe é aquela do conjunto
de dados.

cLASSIFICAÇÃO
X1 X2 X3 ... Xn Y
20 B "bancos" ... 350 1
30 A "corretoras" ... 400 1
40 C "assets" ... 450 0
50 A "mercado" ... 500 1
60 A "bolsa" ... 550 0

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Algoritmos

Algoritmos estudados:
● Árvore de classificação
● Random forest classifier
● Gradient boosting classifier

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Árvores

São estruturas hierárquicas formadas por vértices e arestas. Definidas por:


● Arestas
● Vértices
● Nó raiz
● Nó intermediário
● No folha

Ex.: Contendo 5 arestas e 6 vértices

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Árvores

Quais os aspectos de um algoritmo de árvore?

● Quebrar um problema mais complexo em subproblemas;


● Serve para apoio na tomada de decisão;
● Faz seleção de variáveis;
● Estabelece a importância das variáveis;
● Pode ser interpretada;

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Árvores

DT (Decision Trees) - Tem uma estratégia de divisão e conquista, onde problemas mais complexos são
quebrados em subproblemas menos complexos. Isso é realizado de forma recursiva até o final. As soluções dos
subproblemas são então combinadas em uma árvore.

Formalmente, DT são grafos direcionados acíclicos, onde cada nó:

Em sua divisão:

● Possui um ou mais sucessor;


● Apresenta um teste condicional baseado nos valores dos atributos, ex.:
○ Rendimento > 200 ou ainda Venda {executada, não executada}

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Árvores

Na execução de suas quebras, existe o objetivo na classificação de minimizar conjuntos heterogêneos. Isso
significa que a árvore sempre busca a variável que dado a condição de quebra, vai trazer a maior separação
possível do conjunto.

Nesse contexto, algumas medidas são usadas na execução do algoritmo:

Grau de pureza/ impureza:


Considera a diferença das distribuições do nó pai para as novas distribuições dos nós filhos.

Para essa medida, pode-se usar a entropia ou gini.

Na entropia, o range varia de modo que:

0, então todos os elementos pertencem à mesma classe, pureza máxima;


1, então o número de elementos da classe A é igual a classe B;

Em cada iteração, a quebra é feita pela feature que melhor divide as classes.
Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174
Classificação
Árvores

Ganho de informação:
O ganho de informação é o responsável por medir a redução da entropia nas partições que está sendo criada com
as quebras na árvore.

A equação de redução da impureza usando a entropia é o ganho de informação.

* A entropia pode ser usada em problemas multi-label.

Entropia(R) = -∑ p(c|R) log (p(c|R))

Onde:
- probabilidade da classe * log da probabilidade da classe

InfoGain(R, R_e, R_d) = H(R) - (|R_e|*H(R_e) + |R_d|*H(R_d)) / |R|

Onde:
H é a impureza da região, R é a região atual, R_e é sub-região da esquerda, R_d é sub-região da direita e |R| é
quantidade de exemplos na região em questão.
Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174
Classificação
Árvores

Como evitar o overfitting nos algoritmos de árvore:

Usar a técnica de poda para reduzir a especialização do modelo de árvore.

Estatísticas calculadas em nós mais profundos da árvore têm nível mais baixo de importância, onde poucos
exemplos chegam até o nó folha.

Uma dificuldade de uma árvore especializada demais é sua interpretação.

A poda pode ser dividida em dois grupos:


1. Pré
2. Pós

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Árvores

Como evitar o overfitting nos algoritmos de árvore:

Na pré-poda, o algoritmo para no momento que uma condição é atingida, como por exemplo: Altura da árvore,
número de indivíduos por folha.

Outro critério de parada pode ser:


● Todas as observações em um nó são da mesma classe.

Já na pós-poda, constrói-se a árvore completa e depois é realizada a retirada de um subconjunto de menor


relevância.
Esse método tem maior custo computacional, porém é considerado mais confiável.

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Árvores

Como evitar o overfitting nos algoritmos de árvore:

Para a pós-poda, existe uma decisão: Podar ou não uma subárvore?

Para isso, é usado:


Erro estatístico ->
número de classificações incorretas se todos os exemplos deste nó são classificados na classe majoritária

Erro de backed up ->


soma das classificações incorretas de todas as subárvores do nó corrente;

Caso o erro de backed up for >= erro estatístico, nó é modificado para nó folha com a classe majoritária.

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Random Forest

Como esse algoritmo funciona:

Random forest é uma evolução dos algoritmos de árvore, onde uma abordagem de combinar n árvores traz maior
poder de predição. Essa evolução acontece pois os algoritmos são treinados usando diferentes amostras do dado
de treinamento, isso traz árvores com uma estrutura que consegue capturar melhor os sinais das variáveis
explicativas.

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Random Forest

O algoritmo usa a metodologia de Bagging:

Random forest é um algoritmo que usa a metodologia Bagging - Bootstrap Aggregating.

Essa metodologia visa selecionar samples do dataset e rodar uma árvore para ela.

Depois de criar as diversas árvores, usa-se uma votação para estabelecer o “caminho” / regra vencedora.

Com isso, o modelo final é estabelecido.

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Random Forest

Bagging - Bootstrap Aggregating:

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Random Forest

O algoritmo usa a metodologia de Bagging:

● Cria árvores aleatórias para conjuntos também aleatórios de dados


● Excelente para não cair em um viés da base de treino
● Faz um processo de voting depois de gerar as árvores
● Torna a predição mais acurada, pois visualiza o problema de diversas perspectivas
● Pode ser construída de forma paralela;

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Evolução de algoritmos de árvores

O processo de bagging já foi um avanço considerável nos modelos de árvores. No entanto, existia espaço para
melhora, com isso surge os algoritmos de boosting.

Gradient boosting

O que é boosting?

1. É selecionado os dados e criado uma árvore de decisão. Feito isso, calcula-se os erros, os quais são
considerados na próxima iteração
2. Faz uma nova árvore, ponderando os erros anteriores
3. Realiza esse processo sequencial até convergir

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Gradient Boosting

Classificador Classificador Classificador

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Métricas

Métricas de classificação são aquelas que trazem o quão um modelo de decisão está aderente a o que está
ocorrendo ou ainda quanto o modelo de ordenação está de fato ordenando por probabilidade do evento ocorrer.

Exemplos:
Liberar crédito para uma pessoa ou não?
Inibir o atraso de clientes mais propensos, quais ligar primeiro?

Métricas:
1. Acurácia
2. Receitas / perdas
3. Precision
4. Recall
5. ROC

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Métricas

Acurácia: Classe Predita

acc = (VP + VN) / (VP + VN + FP + FN )


Pos Neg

Receitas e perdas:
Matriz de confusão
Pos TP FN

Classe Real
Neg FP TN

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Classificação
Métricas

Precision:
Dos que o modelo disse ser 1, quantos ele acertou?
Prec = TP / (TP + FP)

Recall:
De todos os 1’s da base, quantos ele acertou?
Rec = TP / (TP + FN)

ROC:
Traz o grau de ordenação das predições

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Regressão

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


REgressão
Relembrando

No conceito de regressão é apresentado um problema onde se deseja prever um número real.

Regressão
X1 X2 X3 ... Xn Y
20 B "bancos" ... 350 20
30 A "corretoras" ... 400 35
40 C "assets" ... 450 40
50 A "mercado" ... 500 42
60 A "bolsa" ... 550 50

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


REgressão
Algoritmos

Algoritmos estudados:
● Árvore regressora
● Random forest regressor
● Gradient boosting regressor

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


REgressão
Árvores

A árvore regressora tem as mesmas características técnicas que a de classificação. No entanto, é calculado com
base em métricas de performance para regressão -> erro quadrático / erro absoluto

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


REgressão
Árvores

A árvore regressora então calcula qual a quebra deve ser feita que melhor reduz o erro na predição do número real,
isso pode ser realizado tanto para variáveis numéricas como também as categóricas.

X > 50

Y <=2000 Z = ‘A’

Z <>
550 250
‘True’

300 450

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


REgressão
Random FOrest

A random forest regressora segue o mesmo conceito da de classificação, onde a única diferença para a
regressora está no fato do processo de voting ser feito usando a média das médias e não mais a moda.

Média das médias

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


REgressão
Gradient Boosting

Gradient boosting de regressão traz o mesmo conceito, onde o processo iterativo de retrain é realizado e a
ponderação dos erros é dado a métrica regressora.

Regressor Regressor Regressor

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


REgressão
Métricas

Em modelos regressores são trabalhadas métricas mais atreladas ao erro, dado por quanto aquele modelo está
deslocado dos pontos reais.

R²:
Representa a proporção de variância da target que pode ser explicada pelas explicativas

RMSE - Root Mean Squared Error:


Representa o desvio padrão dos resíduos, ou seja, da diferença entre predito e real

MAE - Mean Absolute Error:


Representa o erro absoluto médio da diferença entre predito e real

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Clustering

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Clustering
No que consiste

Agrupamento é uma forma de tornar os dados mais legíveis, buscando encontrar similaridade entre as entradas,
baseando-se em n features. A grande diferença da abordagem da classe de problemas não supervisionados é que
ela não tem e nem se pode construir a target.

cLUSTERING
X1 X2 X3 ... Xn
20 B "bancos" ... 350
30 A "corretoras" ... 400
40 C "assets" ... 450
50 A "mercado" ... 500
60 A "bolsa" ... 550

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Clustering
Definições

Cluster bem separado:


Pontos do mesmo grupo estão mais próximos de seus “irmãos”, do que qualquer outro ponto.

Cluster baseado em centro:


Conjunto de pontos tal que qualquer ponto está mais próximo ao centro desse cluster do que ao centro de
qualquer outro cluster.

Cluster contínuo ou encadeado:


Conjuntos de pontos tal que qualquer ponto está mais próximo a um ou mais pontos nesse cluster do que a
qualquer outro ponto não pertencente a ele.

Cluster baseado em densidade:


Existe regiões densas de pontos, separada por outra região de alta ou baixa densidade.

Essas definições resultam nos critérios para separação dos clusters.

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Clustering
Definições

Qual a melhor forma de separar os dados, dado esse critério?

Para isso, o algoritmo:


Usa uma medida de proximidade
Um método de busca para encontrar uma estrutura, dado o critério

Compactação ou homogeneidade:
Apresenta a variação intra-clusters pequena. Efetivo na descoberta de clusters esféricos ou bem separados.

Encadeamento:
Conceito local, onde os pontos vizinhos devem compartilhar o mesmo cluster. Não performa bem quando existe
pouca separação espacial entre os clusters.

Separação espacial:
Considera neste caso a distância entre clusters.

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Clustering
Meu modelo responde ao problema de negócio?

Os diferentes algoritmos podem encontrar uma variação grande de respostas para seu problema, dependendo do
nível que seus critérios estão estabelecidos.

Como proceder? Existe resposta by the book?

Não! Use e abuse da tentativa e erro…

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Clustering
Pré processamento dos dados

Antes de executar qualquer algoritmo de agrupamento, é recomendado que faça uma transformação de escala
dos dados normalizando assim suas distâncias. Isso é importante, pois é a partir dessa distância que os grupos
são formados.

A normalização usada é a de padronização dos dados, dada por:

z = (x - u) / s
onde “u” é a média da feature e “s” é o desvio padrão.

A transformação faz com que os dados tenham média 0 (zero) e desvio padrão 1 (um).
Nesta padronização, cada valor é substituído por quantos desvios padrões este valor está distante em relação à
média.

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Clustering
Algoritmos

Existem algumas classes de algoritmos:


● Particionamento
○ KMeans
● Hierárquicos
○ Aglomerativo
● Density-based
○ DBSCAN
Centroid-based Tree-based
Density-based

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Clustering
Kmeans

Fluxograma do seu funcionamento:

Início Número de Cálculo de centróides Distância entre objetos e


clusters centróides

Alteração no Agrupamento baseado em


agrupamento distância

Fim

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Clustering
Aglomerativo

Essa classe de algoritmos pode ser usada com duas abordagens:

● Aglomerativa -> Começa com n clusters com um único objeto em cada e agrupa os clusters de forma
sucessiva

● Divisiva -> Começa com um único cluster, contendo todos os objetos e divide os clusters de forma sucessiva

Divisiva
Aglomerativa

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Clustering
DBSCAN

O funcionamento do DBSCAN ocorre da seguinte forma:

Divide-se os dados em n dimensões;


1. Para cada ponto no dataset, o algoritmo estabelece uma forma n dimensional em torno dos pontos e então
conta quantos pontos estão naquela forma;
2. Itera até não ter mais dados para colocar no cluster;
3. Traça um novo ponto aleatório e itera novamente até não haver mais dados;

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Clustering
DBSCAN

● Prós:
1. Muito bom para trabalhar com dados que sugerem formas com alta densidade de pontos;
2. Bom para trabalhar com outliers, mantendo-os fora os clusters de alta densidade;
● Contras:
1. Não trabalha bem com dados com densidades próximas;
2. Não recomendado para dados com alta dimensionalidade (features);

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Clustering
Métricas de avaliação do agrupamento

Para avaliar um agrupamento, pode-se seguir em duas linhas:


1. métrica de quão separados estão os clusters;
2. Analisar junto com negócio se faz sentido os clusters gerados;

1 - Usar silhouette score -> Esse score traz um indicativo de quanto os clusters estão bem definidos. Usa as
medidas intra-clusters versus a distância inter-clusters e apresenta o resultado variando de -1 a 1.

Sendo -1 o pior caso e 1 o melhor valor;


0 é um possível indicativo de sobreposição de clusters;

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174


Hands on

Jardeilsom do Nascimento Oliveira - blakjd2@hotmail.com - IP: 189.18.177.174

Você também pode gostar