Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Métodos de Análise de Dados (AO-702)
Rodrigo A. Scarpel
www.ief.ita.br/~rodrigo
DADOS
INFORMAÇÃO
CONHECIMENTO
INTELIGÊNCIA
Revolução dos Serviços (final anos 80) → Dilúvio de dados
Processo de KDD (1996)
BI e BA
Alguns eventos
Analytics → Data Science
Introdução:
2
A Revolução dos Serviços (1980 a ?):
• Microinformática
• Tecnologia da informação
• Softwares
• Telecomunicações
• Setor financeiro
• Grandes varejistas
• Educação e ensino
• Internet (década de 90)
A Terceira Revolução Industrial:
3
Sistemas de
Informação
Transações
Reclamações
Mensagens (e-mails,…)
Call Centers
CRM
Artigos eletrônicos
Outros…
Um dilúvio de dados:
4
Fonte: FAYYAD, U., PIATETSKY-SHAPIRO, G., SMYTH, P. From data mining to knowledge discovery: An overview. In: Advances in Knowledge Discovery and Data Mining, AAAI Press / The MIT Press, MIT, Cambridge, Massachusetts, 1996, p.1-34.
O processo de KDD:
5
Mineração de dados:
6
Objetivo: Transformar dados em conhecimento
Dados Informação Conhecimento
Business Intelligence:
7
BI
BA
Dados Informação Conhecimento Inteligência
Métodos Descritivos
Métodos Preditivos
Métodos Prescritivos
Business Analytics:
8
Business Analytics:
Fonte: http://ritholtz.com/2016/09/162347/
Dilúvio de dados Universo de dados
Alguns eventos:
10
Fonte: https://obamawhitehouse.archives.gov/blog/2012/03/29/big-data-big-deal
Alguns eventos (Big Data Initiative):
11
Analytics Data Science:
12
13
Analytics Data Science:
Fonte: https://data-flair.training/blogs/machine-learning-algorithms-in-python/
Aula Conteúdo
1 Apresentação da disciplina. Avaliação (trabalho). Caso 1: Classificador - Naïve Bayes.
2 Caso 2: Classificador – Análise discriminante (linear e não-linear)
3 Caso 3: Classificador - AID / CART
4 Caso 4: Classificador - Regressão logística
5 Caso 5: Classificador - Support vector machine (SVM)
6 Caso 6: Classificador – KNN e Caso 7: Avaliação de classificadores
7 Caso 8: Mistura de classificadores (Bagging, Boosting e Random Forest)
8 Caso 9: Práticas na construção de classificadores
9 Caso 10: Formação de agrupamentos - Métodos hierárquicos
10 Caso 11: Redução de dimensão + Formação de agrupamentos - Métodos hierárquicos
11 Caso 12: Formação de agrupamentos - Métodos não-hierárquicos.
12 Caso 13: Práticas na aplicação de métodos não supervisionados.
13 e 14 Aulas reservadas para realização dos trabalhos.
15 e 16 Apresentação dos trabalhos.
14
Programa da disciplina:
Avaliação:
• 1 trabalho individual (apresentação e relatório):
1. APRESENTAÇÃO: 50%
2. RELATÓRIO: 50%
Bibliografia:
• Ragsdale, C. T., Modelagem de planinha e análise de decisão – uma introdução prática a business analytics, 7a edição. Cencage, 2015.
• Gareth, J., Witten, D., Hastie, T. e Tibshirani, R. An Introduction to Statistical Learning with applications in R. Springer, 2013.
15
Avaliação e bibliografia:
• São métodos utilizados para classificar novas em categorias pré definidas.
Exemplo:
Métodos de classificação:
16
INTRODUÇÃO
17
Métodos de classificação:
• Casos 1 a 9: Classificação de sinais radar
PRF: Frequência de repetição de pulsos
FREQ: Frequência da onda portadora
PW: Largura de pulso
18
Nova observação:
PRF = 3060
FREQ= 322
PW = 8,7
Classe ?
Métodos de classificação:
... ...
...
1.000
observações
da classe A
1.000
observações
da classe B
1.000
observações
da classe C
• Aplicações 1 a 9: Classificação de pixels em uma imagem
19
Métodos de classificação:
Dados:
15.000 observações (pixels)
11.895 da classe “Não”
3.105 da classe “Sim”
Atributos: B, G e R
Nova observação:
B = 90
G = 122
R = 198
Classe ? RGB: Red Green Blue
Caso 1: Classificador Bayesiano (Naïve Bayes)
20
• É uma abordagem que mostra os princípios utilizados por boa parte dos métodos de classificação
• Também são conhecidos como classificadores de máxima verossimilhança
• Assume que todas as probabilidades são conhecidas e que as classes podem ser descritas de forma probabilística
• Sejam, no caso binário:
• w1 e w2 as classes que queremos identificar
• p(w1) e p(w2) as probabilidades a priori das classes com p(w1)+p(w2)=1
• Classificação: se p(w1) > p(w2) todos serão classificados como sendo da classe
w1 e se p(w1) < p(w2) todos serão classificados como sendo da classe w2.
• Erro do classificador: P(erro de classificação) = mínimo[p(w1), p(w2)]
Caso 1: Classificador Bayesiano (Naïve Bayes)
21
• Exemplo: classificação em abandono de clientes (churn)
Churn: Yes 1869/7043
(26,5%)
Churn: No 5174/7043
(73,5%)
DSL (459/1869 = 24,5%)
Fiber optic (1297/1869 = 69,4%)
No (113/1869 = 6,1%)
DSL (1962/5174 = 37,9%)
Fiber optic (1799/5174 = 34,8%)
No (1413/5174 = 27,3%)
6,5%
18,4%
1,6%
27,8%
25,6%
20,0%
P(Fiber optic) = 18,4% + 25,6% = 44%
P(Churn:Yes \ Fiber optic) = 18,4% / 44% = 41,8%
Caso 1: Classificador Bayesiano (Naïve Bayes)
22
Def: p(x\wk) é a probabilidade de x, sabendo que é da classe wk
Def: p(x,wk) é a probabilidade conjunta da informação x e da classe wk e é obtida por
p(x\wk). p(wk)
Portanto, Teorema da Probabilidade Total:
e pelo Teorema de Bayes:
• Classificação (2 classes): se p(w1\ x) > p(w2 \ x) a observação será classificada
como sendo da classe w1 e da classe w2, caso contrário.
K
1k
kk wPw|p)(p xx
x
xx
p
w|p P|P
ww posterior
likelihood prior
• Técnica estatística utilizada para classificação de elementos de uma amostra ou
população. Opções:
• Casos paramétricos: análise discriminante linear (LDA)
análise discriminante quadrática (QDA)
• Caso não-paramétrico: k-ésimo vizinho mais próxima
23
Caso 2: Classificador Discriminante
24
Análise Discriminante Linear X Análise Discriminante Quadrática
TREINAMENTO:
i (para cada uma
das classes)
(pooled)
TREINAMENTO:
i (para cada uma
das classes)
i (para cada uma
das classes)
Caso 2: Classificador Discriminante
Caso 3: Classificador CART / AID
25
• Sistema de classificação que particiona o espaço de atributos de forma a criar regras
para definir as classes
• Resultado: um conjunto de regras e uma árvore (diagrama)
• Elementos da árvore de decisão
• Nó raiz (primeira questão)
• Ramos (possíveis respostas)
• Outros nós (outras questões)
• Nó terminal (decisão final)
• Critérios de partição:
• Erro de classificação
• Índice de Gini:
C
jjp
1
21
26
Esse modelo é construído a partir de um conjunto de treinamento seguindo algumas regras:
• Partição: escolha da melhor partição
• Parada: quando parar de particionar
A acurácia é obtida a partir de um conjunto de teste.
Ilustração: classificação em risco
IDADE > 35
NÃO SIM
Alto risco Renda anual maiorque R$100.000,00
NÃO SIM
Médio risco Baixo risco
Acurácia = 92.54 %
IDADE > 35
NÃO SIM
Alto risco Renda anual maiorque R$100.000,00
NÃO SIM
Médio risco Baixo risco
Acurácia = 92.54 %Idade (anos)
Ren
da
an
ua
l (R
$)
Caso 3: Classificador CART / AID
Caso 4: Classificador por Regressão Logística
27
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
0 1 2 3 4 5
X
Y
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
0 1 2 3 4 5
X
Y
...** 21 iii XCXBAY
Regressão Linear Regressão Logística
...)**( 211
1
ii XCXBAie
Y
Classificadores por Regressão
28
• Métodos de regressão podem ser utilizados para a construção de modelo paramétricos ou não paramétricos de classificação.
• Caso 1: objetiva-se a criação de uma função para estimar p (wi | x,θ), em que x são as variáveis do modelo e θ são os parâmetros do modelo. Nesse caso
• Caso 2: objetiva-se a criação de uma função para estimar f (x | b), em que b são os parâmetros do modelo. Nesse caso
N
t
tt,wx 1}{ X x
i j , x se 0
x se 1w
j
t
i
t
t
i C
CDados: em que
Classificação: uma observação é atribuída à classe Ci se p(wi |x,θ) > p(wj |x,θ)
bbk
1j
ijij0ii xf xN
t
tt,wx 1}{ X x
i j , x se 1
x se 1w
j
t
i
t
t
i C
C
Dados: em que ,
Classificação: uma observação é atribuída à classe Ci se f(x| b ) > 0
Classificadores por Regressão
29
• Classificação por regressão linear:
Caso 1:
y021,0x047,028,1,|Vermelhop bx→
Classificadores por Regressão
30
• Classificação por regressão linear:
Caso 2:
y042,0x095,056,3|y,xf b→
Caso 4: Classificador por Regressão Logística
31
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
0 1 2 3 4 5
X
Y
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
0 1 2 3 4 5
X
Y
...** 21 iii XCXBAY
Regressão Linear Regressão Logística
...)**( 211
1
ii XCXBAie
Y
Caso 5: Classificador por Support Vector Machine
32
Support Vector Machine (SVM) – CLASSIFICAÇÃO BINÁRIA (yi -1,1)
PROBLEMA: achar uma função , linear ou não, para um hiperplano de separação dos pontos em
dois conjuntos no Rm, em que m é o número de dimensões existentes.
Caso 1: populações separáveis por um hiperplano linear
Dados: N observações no RM (M:dimensões)
xi = xi1,…, xiM yi -1,+1 i = 1,…,N
Separable Linear Kernel Problem:
wtx + b +1 para y = +1 wtx + b -1 para y = -1
Objetivo:
Restrições:
2
ww
D
1Minimizar
ww
2
w
2)H,H(D Maximizar
t
t11
→ y(wtx + b) +1
33
Support Vector Machine (SVM) – CLASSIFICAÇÃO BINÁRIA (yi -1,1)
Exemplo: X1 X2 Y
4 5 -1 6 6 -1
3 4 -1
5 6 -1 6 9 +1
4 8 +1 5 8 +1
3 7 +1
)(2
1
2
1
2
1
2
2
2
1
2
1
21 www
wwwwwMin t
s.a. y(wtx + b) +1 y(w1.x1+w2.x2 + b) +1
-1(w1.4+w2.5 + b) +1
-1(w1.6+w2.6 + b) +1
-1(w1.3+w2.4 + b) +1
-1(w1.5+w2.6 + b) +1
+1(w1.6+w2.9 + b) +1
+1(w1.4+w2.8 + b) +1
+1(w1.5+w2.8 + b) +1
+1(w1.3+w2.7 + b) +1
Solução: w1 = - 0,5
w2 = 1,0
b = - 4,5
Hiperplano de Separação (H0):
wtx + b = 0 → -0,5. x1 +1,0. x2 – 4,5 = 0
x2 = 4,5 + 0,5. x1
Hiperplano Superior (H+1):
wtx + b = +1 → x2 = 5,5 + 0,5. x1
Hiperplano Inferior (H-1):
wtx + b = -1 → x2 = 3,5 + 0,5. x1
Caso 5: Classificador por Support Vector Machine
34
Support Vector Machine (SVM) – CLASSIFICAÇÃO BINÁRIA (yi -1,1)
Caso 2: populações não separáveis por um hiperplano linear
Modificações:
Introduz-se N variáveis de folga i 0, i=1,…,N
Modifica-se as restrições para:
wtxi + b +1 - i para yi = +1
wtxi + b -1 + i para yi = -1
Cria-se uma penalidade na função objetivo, obtendo-se um modelo com N + M + 1
incógnitas (1,…, N,w1,…,wM,b):
Combinando as duas restrições:
yi(wtxi + b) +1 - i
N
1i
i
t Cww2
1 Min onde C é uma constante de penalização (C0)
Caso 5: Classificador por Support Vector Machine
X1 X2 Y
4 5 -1
6 6 -1
3 4 -1
5 6 -1
6 9 +1
4 8 -1
5 8 +1
3 7 +1
35
Support Vector Machine (SVM) – CLASSIFICAÇÃO BINÁRIA (yi -1,1)
Exemplo:
(C=1)
s.a. y(w1.x1+w2.x2 + b) +1 - i
)()ww(2
1 Min 87654321
2
2
2
1
-1.(w1.4+w2.5 + b) +1 - 1
-1.(w1.6+w2.6 + b) +1 - 2
-1.(w1.3+w2.4 + b) +1 - 3
-1.(w1.5+w2.6 + b) +1 - 4
+1.(w1.6+w2.9 + b) +1 - 5
-1.(w1.4+w2.8 + b) +1 - 6
+1.(w1.5+w2.8 + b) +1 - 7
+1.(w1.3+w2.7 + b) +1 - 8
0,,,,,,, 87654321 Hiperplano de Separação (H0):
-0,57. x1 +0,86. x2 – 3,3 = 0
x2 = 3,83 + 0,67. x1
(H+1): x2 = 4,83 + 0,67. x1
(H-1): x2 = 2,83 + 0,67. x1
1 = 0
2 = 0
3 = 0
4 = 0
5 = 0
6 = 2,286
7 = 0,286
8 = 0
Solução:
w1 = - 0,5714
w2 = 0,8571
b = - 3,2857
Caso 5: Classificador por Support Vector Machine
K-ésimo vizinho mais próximo (Discriminante Não-paramétrico):
Para minimizar a probabilidade de erro de classificação de uma observação, a
partir de x, toma-se os k vizinhos mais próximos (distância Euclideana) e atribui-se
a observação à classe com a maior razão:
k
nxclasseP
j
j |
x
Classe nj P(cj|x)
5 0.33 10 0.66 Total (k) 15 1.00
x = classe 36
Caso 6: Classificador KNN
k=1
K-ésimo vizinho mais próximo (Discriminante Não-paramétrico):
Escolha do k:
37
Caso 6: Classificador KNN
Caso 7: Avaliação de modelos de classificação
38
Há muitas métricas de avaliação de modelos de classificação. As mais
comumente encontradas são:
• Taxa de acerto (acurácia): percentual de observações corretamente classificadas
(= TP + TN / TP + FP + FN + TN)
• Taxa de erro = 1 – Taxa de acerto = FN + FP / TP + FP + FN + TN
• Sensitivity (= Recall ou TPR): percentual de reais Ps corretamente classificados.
Exemplo de uso: detecção de câncer (= TP / TP + FN)
• Specificity (ou TNR): percentual de reais Ns corretamente
classificados. Exemplo de uso
uso: detecção de spam
(= TN / TN + FP)
• Precision: percentual de classificados como P que
realmente são P (= TP / TP + FP)
39
Há muitas métricas de avaliação de modelos de classificação. As mais
comumente encontradas são:
• Curva ROC (1- Specificity x Sensitivity ou FPR x TPR)
• AUROC: área abaixo da curva ROC
Caso 7: Avaliação de modelos de classificação
40
Há muitas métricas de avaliação de modelos de classificação. As mais
comumente encontradas são:
• KS (Kolmogorov-Smirnov): máxima diferença entre a taxa de TP acumulado e a taxa
de FP acumulada
Caso 7: Avaliação de modelos de classificação
• A mistura de classificadores (ensemble models) combina a decisão de múltiplos
models objetivando melhorar a performance global de classificação.
• Técnicas simples de mistura (ou composição) de classificadores:
• Utilizar a moda dos resultados
• Utilizar a média dos resultados
• Utilizar uma média ponderada dos resultados
• Técnicas avançadas de mistura de classificadores:
• Bagging (Bootstrapp AGGregatING)
• Boosting (Adaboost)
• Random Forest
Caso 8: Mistura de classificadores (Ensemble models)
41
• Bagging (Bootstrapp AGGregatING):
No estágio 1, cria-se amostras aleatórias de conjuntos de treinamento (com
reposição), no estágio 2 cria-se um classificador (CART) para cada conjunto
de treinamento e nos estágios 3 e 4 combina-se a previsão dos modelos
obtidos (utilizando a média ou a moda dos resultados).
OBS: O Bagging
auxilia na redução da
variância do erro de
previsão /
classificação 42
Caso 8: Mistura de classificadores (Ensemble models)
• Boosting (Adaboost):
Boosting é uma técnica de treinamento sequencial em que o primeiro modelo
é criado utilizando todos os dados da amostra de treinamento e os modelos
subsequentes são criados aumentando o peso das observações
classificadas de forma errada pelo modelo anterior (se uma observação foi
classificada incorretamente tenta-se aumentar seu peso e vice versa).
OBS: O Boosting auxilia na redução do
erro de previsão / classificação (mas
tende a gerar overfitting). 43
Caso 8: Mistura de classificadores (Ensemble models)
• Bagging x Boosting:
Bagging Boosting
Similaridades
• Utiliza a moda dos resultados (classificação „ganhadora‟)
• Combina (mistura) modelos do mesmo tipo
Diferenças
• Modelos são criados de
forma individual e
separadamente
• Cada novo modelo é influenciado
pela performance dos modelos
criados anteriormente
• Os modelos possuem a
mesma importância
(mesmo peso)
• O peso de cada modelo (sua
contribuição no resultado final) está
relacionados com a sua performance
44
Caso 8: Mistura de classificadores (Ensemble models)
• Random Forest:
A Random Forest faz uso do mesmo método do
Bagging, ou seja, no estágio 1 cria-se amostras
aleatórias de conjuntos de treinamento (com
reposição), no estágio 2 cria-se um classificador
(CART) para cada conjunto de treinamento e nos
estágios 3 e 4 combina-se a previsão dos
modelos obtidos (utilizando a média ou a moda
dos resultados).
45
A diferença é que em cada classificador (CART) um subconjunto das
variáveis independentes candidatas para compor o classificador são
aleatóriamente escolhidas (há um número máximo de variáveis default).
Caso 8: Mistura de classificadores (Ensemble models)
Este material refere-se às notas de aula do curso
AO-702 (Métodos de Análise de Dados) do Instituto
Tecnológico de Aeronáutica (ITA). Não substitui o
livro texto, as referências recomendadas e nem as
aulas expositivas. Este material não pode ser
reproduzido sem autorização prévia do autor.
Quando autorizado, seu uso é exclusivo para
atividades de ensino e pesquisa em instituições
sem fins lucrativos.
OBSERVAÇÃO
Rodrigo A. Scarpel
http: www.ief.ita.br/~rodrigo
DADOS
INFORMAÇÃO
CONHECIMENTO
INTELIGÊNCIA