mineração de dados – uce sistemas de suporte à decisão (2010) 1 modelos de previsão paulo j...

130
Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo de métodos para a geração de modelos de previsão a partir de dados históricos.

Upload: internet

Post on 17-Apr-2015

102 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)1

Modelos de Previsão

Paulo J Azevedo

DI - Universidade do Minho2005-2008,2009,2010

Estudo de métodos para a geração de modelos de previsão a partir de dados

históricos.

Page 2: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)2

Introdução

• Estudar métodos (algoritmos) que a partir de um conjunto de dados (treino) e da definição de uma propriedade (atributo) objectivo, derivam estruturas abstractas (modelos) que resumem as características essenciais para chegar aos valores do atributo objectivo.

• Quando expostos a novos casos, os modelos são capazes de gerar uma previsão para o valor do atributo objectivo do novo exemplo.

• Em geral, os algoritmos procuram a definição de uma função

em que X1,X2,…,Xj são atributos dos dados e Y

é o atributo objectivo.

YXXX j ),...,,( 21

Page 3: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)3

Modelos

Dataset Algoritmo Modelo Novocaso

Decisão

Pré processamento

Por vezes éImportante visualizaro modelo.

Dois tipos de previsão:

Categórica: Classificação Numérica: Regressão

Page 4: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)4

Classificação• Processo mecânico de aprendizagem que considera um

conjunto de dados classificados (treino) para aprender a classificar novos casos (dar valor de classe a novos indivíduos)

• Classe = atributo objectivo

• Exemplo clássico: Instituição Bancária com experiência no crédito à habitação pretende implementar atribuição automática de crédito com base em pedidos anteriores.

• Questões: que características dos casos anteriores devem ser consideradas? Considerar todos os pedidos anteriores? Como avaliar o classificador ?

Page 5: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)5

ExemploInsecInsect IDt ID

AbdomeAbdomen n

LengthLength

AntennaAntennae e

LengthLength

Insect Insect ClassClass

1 2.7 5.5 GafanhotoGafanhoto

2 8.0 9.1 GriloGrilo

3 0.9 4.7 GafanhotoGafanhoto

4 1.1 3.1 GafanhotoGafanhoto

5 5.4 8.5 GriloGrilo

6 2.9 1.9 GafanhotoGafanhoto

7 6.1 6.6 GriloGrilo

8 0.5 1.0 GafanhotoGafanhoto

9 8.3 6.6 GriloGrilo

10 8.1 4.7 GriloGrilo

11 5.1 7.0 ??????????????

Dataset Insectos

Conjunto de treino com doisatributos e um atributo objectivo(classe)

Novo caso não observado

Page 6: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)6

An

tenn

a L

engt

hA

nte

nna

Len

gth

10

1 2 3 4 5 6 7 8 9 10

1

2

3

4

5

6

7

8

9

Gafanhotos Grilos

Abdomen LengthAbdomen Length

Exemplo de um elemento daClasse Grilos

Exemplo de um elementoda classe Gafanhotos

Interpretação Geométrica

Page 7: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)7

Interpretação geométricaDiscriminante Linear

11 5.1 7.0 ??????????????

An

tenn

a L

engt

hA

nte

nna

Len

gth

10

1 2 3 4 5 6 7 8 9 10

1

2

3

4

5

6

7

8

9

Abdomen LengthAbdomen Length

Novo caso

• Podemos projectar os casos novosPodemos projectar os casos novosno mesmo espaço da base de dadosno mesmo espaço da base de dadosdos casos de treino.dos casos de treino.

• Torna-se assim “mais fácil” de Torna-se assim “mais fácil” de falar em pontos no espaço, em vezfalar em pontos no espaço, em vezde casos.de casos.

Page 8: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)8

Interpretação geométricaDiscriminante Linear

11 5.1 7.0 ??????????????Novo caso

• Podemos projectar os casos novosno mesmo espaço da base de dadosdos casos de treino.

• Torna-se assim “mais fácil” de falar em pontos no espaço, em vezde casos.

10

1 2 3 4 5 6 7 8 9 10

1

2

3

4

5

6

7

8

9

An

tenn

a L

engt

hA

nte

nna

Len

gth

Abdomen LengthAbdomen Length

If novo casonovo caso esta acima da linhathen classe é Griloelse classe é Gafanhoto

Page 9: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)9

Casos em que o problema envolve mais do que dois atributos (plano com mais do que 2 dimensões)

Notar que o problema só tem duas classes, mas podemossempre generalizar para N classes.

Page 10: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)10

SetosaVersicolor

Virginica

Generalização do discriminante linear para N classes, definindo N-1 linhas. Usando o famoso Iris dataset (R.Fisher) com 150 casos e 3 classes. Primeiro definimos uma linha para discriminar entre as classe Setosa e as classes Virginica/Versicolor. Finalmente discriminamos (aproximandamente) entre as classes Virginica e Versicolor.

If petal width > 3.272 – (0.325 * petal length) then classe = VirginicaElseif petal width…

Pet

al W

idth

Petal Length

Page 11: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)11

Primeiros Algoritmos

• Discriminantes Lineares (R.Fisher)

• Naive Bayes

• Árvores de decisão

Page 12: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)12

An

tenn

a L

engt

hA

nte

nna

Len

gth

10

1 2 3 4 5 6 7 8 9 10

1

2

3

4

5

6

7

8

9

GrilosGafanhotos

Voltando ao dataset de insectos mas agora com mais insectos. Notar os histogramas de classes por atributo

Abdomen LengthAbdomen Length

Page 13: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)13

Podemos ver os histogramas sumarizados em duas distribuições Gausianas (Normais).

Vamos usar estas duas distribuições para facilitar a visualização (mas só do atributo antennae length).

Page 14: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)14

p(cj | d) = probabilidade da classe cj, dado que observamos d

3

Antennae length é 3

• Queremos classificar um novo insecto com antena = 3. Como classifica-lo?

• Considerando as distribuições observadas para antennae length, é mais provável que o nosso insecto seja da classe Gafanhoto ou Grilo.• Existe uma definição formal de mais provável classificação…

Page 15: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)15

10

2

P(Gafanhoto | 3 ) = 10 / (10 + 2) = 0.833

P(Grilo | 3 ) = 2 / (10 + 2) = 0.166

3

Antennae length é 3

p(cj | d) = probabilidade da classe cj, dado que observamos d

Page 16: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)16

9

3

P(Gafanhoto | 7 ) = 3 / (3 + 9) = 0.250

P(Grilo | 7 ) = 9 / (3 + 9) = 0.750

7

Antennae length é 7

p(cj | d) = probabilidade da classe cj, dado que observamos d

Page 17: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)17

66

P(Gafanhoto | 5 ) = 6 / (6 + 6) = 0.500

P(Grilo | 5 ) = 6 / (6 + 6) = 0.500

5

Antennae length é 5

p(cj | d) = probabilidade da classe cj, dado que observamos d

Page 18: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)18

Classificadores Bayesianos

Isto são exemplos de intuição visual para o caso simples de um classificador Bayesiano:

Vamos agora formalizar a ideia com mais exemplos. A ideia base preserva-se

Calcular a probabilidade do novo caso pertencer a cada classe, depois simplesmente escolher a classe com mais alta probabilidade.

Page 19: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)19

• Classificadores Bayesianos usam o Teorema de Bayes, que dizer que:

• p(cj | d) = probabilidade do caso d ser da classe cj, O que estamos a tentar calcular

• p(d | cj) = probabilidade de gerar a instância d dada a classe cj,

Podemos imaginar que pertencendo à classe cj, implica ter a caracteristica (atributo) d com alguma probabilidade

• p(cj) = probabilidade da ocorrência da classe cj,

Isto é apenas a frequencia da classe cj, no nosso conjunto de treino p(d) = probabilidade da instância d ocorrer

Isto pode ser ignorado pois é o mesmo valor para todas as classe

Classificadores Bayesianos

)(

)( x )/()/(

dP

cPcdPdcP

jjj

Page 20: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)20

• Até agora assumimos que o nosso conjunto de treino tinha uma só atributo. Como usar todos os atributos?

• Para simplificar, os classificadores naïve Bayesian assumem que os atributos tem distribuições independentes, e consequentemente estimam a probabilidade conjunto como:

p(d|cj) = p(d1|cj) x p(d2|cj) x ….x p(dn|cj)

A probabilidade da classe cj gerar a instância d, é igual….

A probabilidade da classe cj gerar o valor observado para o atributo 1, multiplicado por… A probabilidade da classe

cj gerar o valor observado para o atributo 2, multiplicado por ...

Page 21: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)21

Naive Bayes

Naive: assume independência entre atributos.

Bayes: Usa o Teorema de Bayes –

A probabilidade condicional de uma hipótese H dado um evento E é:

)(

)( x )/()/(

EP

HPHEPEHP

No nosso caso a hipótese é um valor possível de classe e o evento uma determinada combinação de valores para os outros atributos.

)(

)( x )/( x ... x )/( x )/()/( 21

EP

yesPyesEPyesEPyesEPEyesP n

Em resumo…

Pode ser ignorado porque

é sempre o mesmo valor para todas as

classes!

Page 22: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)22

Exemplo• Usando os dados de treino (play_tennis.xls)• Novo caso

(Outlook=sunny, Temp=cool, Humidity=high, Wind=true)

• Aplicar Teorema de Bayes e prever a classe com mais alto valor probabilístico.

Class=yes (2/9 x 3/9 x 3/9 x 3/9 x 9/14) = 0.0053

Class=no (3/5 x 1/5 x 4/5 x 3/5 x 5/14) = 0.0206

Page 23: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)23

p(d1|cj) p(d2|cj) p(dn|cj)

cjClassificadores Bayesianos são normalmente representados por grafos

Notar a direcção da seta, que indica que cada classe causa certos valores de atributos com uma certa probabilidade

Page 24: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)24

Classificador Naïve Bayes

p(d1|cj) p(d2|cj) p(dn|cj)

p(d|cj)Questão!

Naïve Bayes assume independência dos atributos…

Sexo > 180 cms

Homem Yes 0.15

No 0.85

Mulher Yes 0.01

No 0.99

Sexo > 100 kgs

Homem Yes 0.11

No 0.89

Mulher Yes 0.05

No 0.95

Page 25: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)25

p(d1|cj) p(d2|cj) p(dn|cj)

p(d|cj)Solução

Considerar a relação entre atributos (definir os arcos entre os nós)…

Sexo > 180 cms

Homem Yes 0.15

No 0.85

Mulher Yes 0.01

No 0.99

Sexo > 100 kgs

Homem Yes and > 180 cms 0.11

No and > 180 cms 0.49

Yes and NOT > 180 cms 0.05

No and NOT > 180 cms 0.35

Mulher Yes and > 180 cms 0.01

Classificador Naïve Bayes

Page 26: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)26

p(d1|cj) p(d2|cj) p(dn|cj)

p(d|cj)

Mas como encontrar o conjunto de arcos que ligam os nós??Ou seja como estabelecer uma relação de ordem entre atributos?Proposta: Redes Bayesianas.

Solução

Considerar a relação entre atributos…

Classificador Naïve Bayes

Page 27: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)27

Árvores de Decisão

• Ramificações em árvore onde os nós intermédios são testes sobre valores de atributos, os ramos os possíveis valores e as folhas as decisões sobre a previsão (valor de classe).

• Função a ser aprendida (função de valores discretos) é representada pela árvore de decisão.

• Em geral representam uma disjunção de conjunções.

Page 28: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)28

Árvores de Decisão

OUTLOOK

HUMIDITY WINDYES

YESYES NONO

overcastsunny

rain

high

normal st

rong weak

Podemos derivar regras a partir dos vários ramos. Exemplo:

class=yes Humidity=normal & Outlook=sunny

Page 29: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)29

Árvores de Decisão(interpretação geométrica)

An

tenn

a L

engt

hA

nte

nna

Len

gth

10

1 2 3 4 5 6 7 8 9 10

1

2

3

4

5

6

7

8

9

Abdomen LengthAbdomen Length

Abdomen LengthAbdomen Length > 7.1?

no yes

GriloAntenna LengthAntenna Length > 6.0?

no yes

GriloGafanhoto

11 5.1 7.0 ??????????????Novo caso

Page 30: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)30

Algoritmo ID3 para a construção de árvores de decisão

• Sendo S o conjunto de treino:– Iniciar com uma árvore vazia.– Escolher o melhor atributo A para a raiz.– Dividir S em subconjuntos segundo os

valores de A.– Para cada subconjunto de S construir uma

sub árvore de decisão.– Parar quando o subconjunto tiver elementos

de uma só classe.

Como decidir sobre “qual é o melhor atributo para a

raiz???”

Objectivo: Obter subconjuntos o mais homogéneos possíveis (em termos

de classe)!

Page 31: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)31

Medidas de Ganho Informativo

• Como medir a homogeneidade de um conjunto?

• Entropia: mede a impureza de um conjunto. O melhor atributo é aquele que mais conseguir baixar a entropia geral do conjunto.

• pclasse = proporção entre elementos da classe e elementos de S

)(log)( 2 classeclasse

classe ppSEntropia

Page 32: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)

Entropia

32

Entropia(S) = número esperado de bits necessários para codificar a classe de um elemento de S escolhido aleatoriamente com distribuição uniforme (código óptimo i.e. código de comprimento mínimo)

Motivação:

Da Teoria da Informação: um código de comprimento óptimo atribui -log2(p) bits a uma mensagem que tenha probabilidade p.Assim, o número esperado de bits para codificar a classe (e.g. classes “a” e “b”) de elementos seleccionados aleatoriamente de S é:

pa(-log2(pa)) + pb(-log2(pb))

Ou seja,

Entropia(S) = -pa log2(pa)- pb log2(pb)

Page 33: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)33

Ganho InformativoCalculo do Ganho Informativo fornecido pelo atributo A:

)(

)(#

#)(),(

Avaloresvv

v SEntropiaS

SSEntropiaASGanho

Ganho é a redução esperada de entropia causada por ter conhecimentodo valor do atributo A.

Seleccionamos a “divisão de S” que optimiza o ganho informativo i.e. o atributo que origina subconjuntos mais “puros” de S.

Seleccionar atributos usando este método permite obter árvores mais simples. Não é tratável gerar todas as árvores possíveis e depois seleccionar a mais simples!?

Page 34: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)34

Outras medidasHá diferentes opções para implementar escolhe de atributos. Por exemplo,o sistema CART usa a métrica gini para seleccionar o melhor atributo.

Índice Gini (no nó t):

Gini splitting criteria (para um split s no nó t):

O sistema CHAID usa uma medida de correlação entre atributos e classe.Mede Χ2 entre um atributo e o atributo classe. Escolhe o atributo com maior estatística (correlação).

classes

jjptGini

#

1

21)(

)()()(),( RRLL tGiniptGiniptGinits

Proporção de casos no lado esq/dir. No CART as árvores são sempre

binárias

Valor gini no subconjunto dir/esq

Page 35: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)35

Exemplo

• Usando outra vez o problema do play_tennis.xls• Entropia(S) = - 9/14 x log2(9/14) – 5/14 x log2(5/14) = 0.940

• Entropia(Wind) = (8/14) x Entropia(Sno) +(6/14) x Entropia(Syes) =

= (8/14) x (-2/8 x log2(2/8)- 6/8 x log2(6/8)) + (6/14) x (-3/6) x log2(3/6) – 3/6 x log2(3/6)) =

= (8/14) x 0.811 + (6/14) x 1.00 = 0.4634 + 0.4285

Ganho(S,Wind) = 0.940 – 0.8919 = 0.0481

.

.

.

Ganho(S,Outlook) = 0.694

Maximizamos o Ganho!

Page 36: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)36

Selecção

Outlook

??

[9+,5-]

sunny rain

Yes

ove

rcast

[1,2,…,14]

[1,2,8,9,11] [2+,3-]

[4,5,6,10,14] [3+,2-]

Notar que Entropia(Sovercast) = 0. Dá origem a uma ramo folha com (Yes) visto que pyes = 4.

[3,7,12,13] [4+,0-]

Page 37: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)37

Características dos algoritmos para Árvores de Decisão

• Pesquisa tipo hill-climbing em que função de progressão é o ganho informativo,

• Espaço de pesquisa completo,

• Preserva uma só hipótese durante o processo de pesquisa,

• Não há backtracking!

• Aplica Occam Razor (hipótese mais simples em detrimento das mais complexas),

• Podemos lidar com noise = ruido nos dados, se se permitir conjuntos impuros de exemplos nas folhas.

Page 38: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)38

Questões?

• Atributos com muitos valores (por ex: contínuos) são beneficiados em termos de ganho informativo!

• Que consequências dão origem as árvores complexas (muitos nós)?

• Como obter árvores mais simples?• Como tratar atributos numéricos ?• Como tratar valores nulos ?• Como lidar com ruído (noise)

Page 39: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)39

Ganho Informativo sobre Atributos com muitos valores

• Ver atributo Temp como numérico com âmbito [-50,50].• Consegue isolar quase qualquer exemplo

(mínimo entropia máximo ganho)• Temp seria atributo raiz com muitos ramos!• Boa árvore com exemplos de treino mas menos

boa com novos casos (overfitting!)• Aliviar este fenómeno reajustando o cálculo do

ganho, por forma a que os atributos com muitos valores sejam penalizados.

Page 40: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)40

Novo Ganho

),(

),(),(

ASSplitInfo

ASGanhoASNovoGanho

)#

#(log

#

#),( 2 S

S

S

SASSliptInfo valor

Avalor

valor

Esta medida é entropia de S em relação aos valores de A(e não em relação aos valores da classe!)

SplitInfo(S,Wind)= -6/14 x log2(6/14) - 8/14 x log2(8/14) = 0.345 + 0.461= 0.806

Page 41: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)41

Tratamento de valores contínuos em Árvores de Decisão

• Em Pré processamento:– Discretização em intervalos de valores. Ex: criar

intervalos onde é preservado o valor de classe.– Binarização; cada atributo é convertido em dois

valores. Há a selecção de um valor de corte.

• Durante o processamento:– Binarização: Seleccionar um valor de corte entre os

valores do conjunto associado à sub-árvore. O valor escolhido é aquele que maximiza ganho! (e é sempre um que está na transição entre valores de classe).

– Aplicação recursiva deste princípio.

Page 42: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)42

Tipos de Discretização• Supervisionada versus Não Supervisionada

– Os dados contêm um atributo objectivo que pode ser considerado para “guiar” o processo de discretização, ou não?

• Paramétrica versus Não Paramétrica– O processo necessita de parâmetros e.g. número de intervalos, ou não?

• Hierárquica versus Não Hierárquica– Há a derivação de uma hierarquia de intervalos, que se forma por 1) partir o intervalo inicial

(split) ou por 2) junção dos vários intervalos unitários (merge).– A alternativa é ter a formação de intervalos a não envolver uma hierarquia.

• Univariada versus Multivariada– Discretização trata um atributo contínuo de cada vez ou considera a possível relação entre

contínuos, atacando-os em bloco.

• Intervalos disjuntos versus não disjuntos– A discretização admite apenas intervalos não sobreposto ou há a possibilidade de gerar

intervalos com intersecção não vazia.

• Global versus Local– A discretização é feita a priori e é única, sendo usada durante todo o processo de

aprendizagem. Alternativamente, várias discretizações são usadas para um atributo, dependendo do seu uso e.g. nós numa árvore de decisão.

• Eager versus Lazy– Eager= discretização antes do processo de aprendizagem, Lazy=discretização é gerada

sempre que necessária.

• Ordinal versus Nominal– Mapeamento derivado da discretização é do tipo: quantitativo ordinal (preserva ordem),– Ou quantitativo nominal (não preserva ordem)

Page 43: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)43

Discretização Fayyad & Irani(método supervisionado, não paramétrico, univariado,

disjunto, global, eager e ordinal)

• Ordenar os valores do atributo a discretizar,• Definir os cut points – ponto onde há alternância de classe,• Calcular Ganho Informativo para cada ponto:

• Escolher ponto com maior valor de Ganho,• Verificar se condição MDL é satisfeita

Se sim o processo pára,Senão aplicar recursivamente o processoà esquerda e à direita do ponto escolhido.

Page 44: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)44

Fayyad & Irani

• Condição Minimum Description Length:

N = #S, k = #classes, ki = #classes em Si

• Processo pára se a condição é satisfeita.

0.0 2.3 12.4 19.3 24.418.92.3

Seguindo este princípio, queremos minimizar o tamanho da “teoria” mais a

quantidade de informação necessária para especificar as excepções relativas à teoria.

Tem relações com a complexidade de Kolmogorov. No nosso caso a teoria é o

ponto de split.

Informação necessária para especificar o ponto de split.

Correcção devida à

necessidade de transmitir que

classes correspondem

aos subintervalos inferiores e superiores.

Page 45: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)45

Discretização ChiMerge

• Juntar intervalos adjacentes que demonstram independência sobre o atributo classe.

• Medir independência através de um teste de Χ2. Escolher o par com menor valor da estatística.

• Parar quando, para o par escolhido, Χ2 > δ, sendo δ dado pelo utilizador.

• Inicialmente ordena-se os valores do atributo a discretizar. Cada valor dá origem a um intervalo unitário.

Page 46: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)46

ChiMerge• Cálculo do Χ2

• Sendo:– k é número de classes, N o tamanho do dataset– Aij é número de exemplos no intervalo i da classe j– Eij = #(intervalo i) x #(classe j) / N, ou seja frequência esperada.

• Graus de liberdade = (#intervalos -1) x (#classes -1)

• Se o teste indica dependência então a diferença na distribuição de classes entre os intervalos é estatisticamente significativa. Ou seja, os intervalos devem permanecer separados.

2

1 1

2)(2

i

k

jij

ijij

EA E

= 1 class1 class2 class3

dis

trib

uiç

ão c

lass

es

[1, 5[ [6, +oo[

Page 47: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)47

Tratamento de Contínuos no C4.5

Ordena-se os valores do atributo em questão.Usar como corte os valores onde há transição de classe.

A CLASS1 yes

2 yes

4 no

5 no

6 yes

9 no

12 yes

15 yes

16 yes

Exemplo: 2,4 5,6 6,9 9,12Valores de corte a avaliar: (4+2)/2=3 não existe!Então escolhemos o mais próximo (2)

Se o ponto escolhido fosse o 6 então podíamoster as expressões: A ≤ 6 e A > 6.

A

A =< 6

A > 6

[1,2,4,5,6] [9,12,15,16]

Page 48: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)48

Valores Nulos

• Datasets não “limpos”. Há valores desconhecidos em alguns atributos.

• Pode indicar valores não disponíveis que são intencionalmente indicados como tal.

• Ruído (noise) nos dados!

• Estimar valores…

• Como tratar nulos?

Page 49: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)49

Tratamento de Nulos

• Podemos pré processar os nulos fazendo substituição apriori. Por exemplo fazendo classificação sobre os exemplos e atributos com nulos!

• Substituir nulos por valor mais frequente (valor médio no caso dos contínuos) – Caren usa esta simples estratégia.

• Substituir nulos por valor mais frequente dentro da classe.

Outlook Temp Class

sunny hot no

sunny ? no

? hot yes

rain Mild yes

Temp=hot, (substituir por valor mais frequentedentro da classe)

Outlook=sunny, (substituir por valor mais frequente)

Page 50: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)50

Tratamento de Nulos no C4.5

• Estimar os valores nulos (desconhecidos)• Três situações distintas de nulos:

– Na previsão de novos casos com nulos,– Na selecção do atributo teste, podemos ter de

comparar testes de atributos com diferentes números de valores nulos!

– Depois de escolhido o atributo teste, como atribuir um caso com valor nulo às várias subdivisões do conjunto de treino derivadas do atributo teste?

O C4.5 usa um procedimento de atribuição probabilística aos possíveis valores nulos do atributo (em vez de valores mais comum como acontece em procedimentos mais simplistas).

Page 51: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)51

Nulos no C4.5Durante a construção do Modelo: entre os exemplos quecobrem o nó a ser processado, atribui-se valores de probabilidade de acordo com o observado

Cada exemplo tem associado um peso ω (representa a probabilidade de pertencer ao subconjunto onde se encontra)!

Inicialmente o peso é 1.

Durante a divisão, se o valor do atributo em estudo for conhecidoo peso do subconjunto fica inalterado. Caso contrário o exemplo éassociado a cada subconjunto criado em que o peso é multiplicadopela probabilidade de pertencer a esse subconjunto

Cálculo do Ganho considera soma de pesos e não o número de exemplos!

Page 52: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)52

Nulos em C4.5Actualização dos pesos:

)(' iTprob

onde ω’ é o novo peso quando atribuímos esteexemplo a um novo subconjunto.prob() definido como:

i

ii

Texemplospeso

TconhecidosvaloresexemplospesosTprob

__

____)(

info(Ti) ( ou Ent(Ti) ) é assim calculado só comexemplos de valores conhecidos.

Page 53: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)53

Nulos e Ganho

))(info)(info(),(1

m

ii

i TT

TTFASGanho

Onde F é a proporção de exemplos com valores nulos para oatributo sobre o número total de exemplos.

Novo splitinfo() é:

)(log))(log()(splitinfo 221 T

T

T

T

T

T

T

TA uui

m

i

i

onde Tu é o subconjunto dos exemplos comvalores nulos para o atributo A. Assume-se m+1 divisões!!!

Page 54: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)54

Classificar Exemplos com Valores Nulos

Enquanto os valores do novo caso foram conhecidos tudo se passa como no procedimento normal. Quando o nó da árvore tiver um teste sobre um atributo em que o novo caso tem valor nulo então faz-se o cálculo da distribuição de probabilidades. Ou seja, percorre-se cada ramo e combina-searitmeticamente a classificação. A classe com maior probabilidade é a escolhida.

OUTLOOK

HUMIDITY WINDYES

YESYES NONO

overcastsunny rain

high

normal st

rong weak

(2.0) (3.4/0.4) (2.4/0.4) (3.0)

No = 2.0/5.4 x 2.0/2.0 + 3.4/5.4 x 0.4/3.4 = 0.44Yes = 2.0/5.4 x 0 / 2.0 + 3.4/5.4 x 3/3.4 = 0.56

Novo Caso: Outlook=sunny,Temp=hot, Humidity=?, Wind=false

Contabilizar nos ramos a soma da distribuição de probabilidade da classe No. Σi∈{high,normal}, (#ramo_i / #HUMIDITY) x (#No_ramo_i / #ramo_i)

Page 55: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)55

Overfitting

• Sobre-ajustamento das hipótese no processo de aprendizagem.

• Queremos uma hipótese (modelo) o mais consistente com os dados de treino, mas:– Ruído nos dados,– Poucos exemplos ou pouco representativos,– Hipótese demasiado complexa.

Ou seja, podemos obter uma hipótese pouco

preditiva!

Page 56: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)56

Overfitting• Dado um espaço de hipóteses H, diz-se que a hipótese h ∈ H se sobre

ajusta (overfits) aos dados de treino se existir uma hipótese h’ ∈ H tal que h tem erro mais baixo do que h’ nos dados de treino, mas h’ erra menos do que h na distribuição total dos exemplos.

• Overfitting (inevitável): quanto mais profundos são os nós folha menos exemplos têm a cobri-los - Pouca significância estatística.

• Como lidar com overfitting:– Pruning: Simplificação das árvores por forma a evitar árvores

cobertas por poucos casos.– Pre-pruning (parar crescimento antes de erro nulo no treino),– Post pruning (deixar crescer a árvore normalmente).

Pruning a posterior.– Calcular tamanho correcto da árvore: usar um conjunto separado

de exemplos para avaliar sub-árvores (cortar/parar). Alternativa: só permitir refinamentos/cortes que melhorem o desempenho geral da árvore (usar teste de hipóteses).

Page 57: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)57

Complexidade do modelo (# de nós n a árvore)

acc

ura

cy

dados de treino

dados de teste

Overfitting (curvas de erro)

Curva demonstrando ocorrência de sobre-ajustamento.

Page 58: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)

Pruning

• Simplificação do modelo de previsão por forma a combater o sobre-ajustamento.

• Duas possíveis estratégias:– Pré-pruning: parar de expandir um ramo quando a

informação se torna pouco fiável (sem significância). Pode parar o processo demasiado cedo e derivar underfitting.

– Pós-pruning: deixar crescer a árvore até ao fim. Depois podar sub-árvores pouco fiáveis. É mais fácil implementar esta estratégia e é a que melhores resultados origina na prática.

58

Page 59: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)

Pós-pruning• Primeiro expandir a árvore totalmente e depois

aplicar pruning.• Várias técnicas de Pruning:

– Estimação de erro• Usando um holdout data (conj. de validação)• Usando o conj. de treino

– Testes de significância– Aplicação do princípio MDL.

• Duas operações de pruning:– Troca de sub-árvores por folhas (subtree

replacement)– Ascensão de sub-árvores (subtree raising)

59

Técnica conhecida por “reduced-error pruning”Técnica conhecida por “reduced-error pruning”

Page 60: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)

Subtree Replacement

60

• Processamento bottom-up,• Substituição de uma árvore após processar todas as suas sub-árvores

Page 61: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)

Subtree Raising• Eliminação de um nó intermédio da árvore,• Implica uma redistribuição das instâncias de treino (reclassificação dos

exemplos),• Subir o ramo com mais exemplos (de B para C),• Processo mais lento que a operação anterior,• Valerá a pena??

61

Page 62: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)

Subtree Raising: Exemplo

62

wage-increase-first-year <= 2.5| education-allowance = yes| | wage-increase-first-year <= 2.1| | | pension = none: bad (2.43/0.43)| | | pension = ret_allw: bad (0.0)| | | pension = empl_contr: good (3.16/1.5)| | wage-increase-first-year > 2.1: bad (2.04/0.04)| education-allowance = no| | contribution-to-health-plan = none: bad (3.39)| | contribution-to-health-plan = half: good (0.18/0.05)| | contribution-to-health-plan = full: bad (4.06)wage-increase-first-year > 2.5| longterm-disability-assistance = yes| | statutory-holidays <= 10| | | wage-increase-first-year <= 3: bad (2.0)| | | wage-increase-first-year > 3: good (3.99)| | statutory-holidays > 10: good (25.67)| longterm-disability-assistance = no| | contribution-to-health-plan = none: bad (4.07/1.07)| | contribution-to-health-plan = half: bad (3.37/1.37)| | contribution-to-health-plan = full: good (2.62)

wage-increase-first-year <= 2.5: bad (15.27/2.27)wage-increase-first-year > 2.5| statutory-holidays <= 10: bad (10.77/4.77)| statutory-holidays > 10: good (30.96/1.0)

statutory-holidays subiu na árvore e substituiu “longterm-disability-assistance“

Substituição por folha “bad”

Sub-árvore removida pela operação de “raising”

Substituição por folha “bad”

Page 63: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)63

Pruning no C4.5

• Post-pruning com Simplificação Pessimista• Avaliação só com o conjunto de treino,• Usar erro amostral Erro = E / N para inferir erro real via

intervalos de confiança (simplificação pessimista pois escolhemos limite superior do intervalo)

• Podar se simplificação estima melhor resultados que árvore original

• Erro calculado pelo limite superior do intervalo de confiança dado pela distribuição Binomial (UCF(N,E)),

• Erro numa folha cobrindo N novos casos é N x UCF(N,E).• Erro da sub-árvore = ∑ erros nos ramos

Page 64: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)64

Exemplo (subtree replacement)

Educat spend

Class=democrat Class=democrat Class=republican

=n=y

=u

(6) (9) (1)

Não há erros associados à sub-árvore. Para o primeiro ramo N=6 e E=0, U25%(6,0) =0.206.

Erro da sub-árvore = 6 x 0.206 + 9 x 0.143 + 1 x 0.750 = 3.273

Se substituirmos esta sub-árvore pela folha (Class=democrat) temos como avaliaçãoN=16, E=1.

Erro=16 x U25%(16,1) = 16 x 0.157 = 2.512.

Assim, o C4.5 substitui a sub-árvore em questão pela nova folha.

One-tail Binom test (H1:>=0.5),α=0.25

Page 65: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)

Uso de Laplace para estimação (estática) do erro nas folhas

• Quando um nó é podado este é substituído por uma folha (e.g. com Classe=democrat)

• Qual será o erro de previsão esperado para esta nova folha?

• S é conjunto de exemplos que chegam à folha,• N = #S• k classes• n exemplos em N pertencem à classe C (mais frequente).

65

kN

nNSE

1

)(

Estimação de erro de Laplace.Assume que a distribuição das probabilidades dos exemplos

pertencerem a classes diferentes é Uniforme.

Estimação de erro de Laplace.Assume que a distribuição das probabilidades dos exemplos

pertencerem a classes diferentes é Uniforme.

Page 66: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)

Laplace (cont)

• Para um nó intermédio No, calculamos o erro esperado (chamado backed-up-error)

– BackedUpError(No) = ∑i Pi x E(Noi).

– Error(No)= min(E(No),BackedUpError(No)).

• Os valores de P (probabilidades) podem ser estimadas pelas frequências dos valores do atributo nos exemplos dos nós filhos (No i).

66

Serve também para decidir

sobre a poda ou não do nó No

Page 67: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)

Laplace (cont2)• Exemplo de um cálculo (com decisão de pruning

ou não do nó intermédio)

67

Folha à esquerda de b com frequências nas classes [3,2]O valor de Laplace é:

E(S) = (N-n+k-1) / (N+k) = (5-3+2-1) / (5+2) = 0.429

Folha à direita de b tem E(S) = 0.333.

Aplicando Laplace ao nó b obtém-se E(S) = 0.375, com N=6, n=4, k=2.

Backed-up error:

BackedUpError(b) = (5/6) x 0.429 + (1/6) x 0.333 = 0.413(6 exemplos em b, 5 no lado esquerdo e 1 no lado direito…)

Como o backedup error é maior que o erro estático para b (obtido por Laplace) podamos a sub-árvore de b e usamos o erro estático de 0.375.

Page 68: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)

Laplace no J48 O uso de laplace no J48 vai influenciar o score de

previsão (distribuição de probabilidades por classes) e consequentemente medidas de desempenho de modelos por classe como a AUC (a ver aquando das curvas ROC). Exemplo (dataset labor):

68

com Laplace:

inst#, actual, predicted, prob. distribution 1 2:good 2:good 0.206 *0.794 2 2:good 2:good 0.206 *0.794 3 1:bad 1:bad *0.815 0.185 4 2:good 2:good 0.206 *0.794 5 2:good 2:good 0.088 *0.912

sem Laplace:

inst#, actual, predicted, prob. distribution 1 2:good 2:good 0.18 *0.82 2 2:good 2:good 0.18 *0.82 3 1:bad 1:bad *0.876 0.124 4 2:good 2:good 0.18 *0.82 5 2:good 2:good 0.048 *0.952

Page 69: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)69

Avaliação de Modelos

• Necessidade de avaliar capacidade preditiva do modelo. (tipicamente estimamos este valor pela proporção de erros obtido no conjunto de treino),

• Esta avaliação é baseada em poucos exemplos, enviesada e pouco fiável!

• Testar em conjuntos não usados em treino.• Usar metodologias de avaliação exaustiva (com

mais datasets para além do de treino).

Page 70: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)70

Amostragem com substituição (reposição). Pode ajudar nos problemas de previsão com classes raras!

Notar: Procedimento determinístico. Nâo há escolha aleatória de amostras e consequentemente não há necessidade de repetições. Vantagem de ter conjuntos de treino maiores. Erro = 1-(r/n), onde r é a soma dos n testes.

Validação Cruzada• Estimativa do erro que o modelo (modelos gerados pelo algoritmo)

terá quando exposto a novos casos.• Avaliação com um só conjunto. Definir n folders. Um é usado como

teste, os outros n-1 são treino. Repetir n vezes cruzando papeis. Acabamos por ter n avaliações. Accuray final é a média das n avaliações. Tipicamente n = 10.

• Na presença de datasets com classes raras podemos ter problemas de representatividade – usa-se estratificação.

• Outras metodologias: Leave one out – Uma instância é deixada de fora como teste (é como um n cross validation, sendo n = #{treino})

Page 71: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)71

Matriz da Confusão

• Também chamada matriz de erros/acertos.• Colunas com classes previstas, linhas com

classes verdadeiras. Podemos facilmente identificar os falsos positivos, falsos negativos, acertos e erros.

• Cpp exemplos da classe p classificados como p

• Cpn exemplos da classe p classificados como n.

previsão

Erro?l

Page 72: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)72

Exemplo

C p n

p 4 0

n 2 1Accuracy (rácio de acerto) = 1 – error_rate.

Error rate = número de erros / número de casos = (Cpn + Cnp) / (Cpp + Cnn + Cpn + Cnp) = 2 / 7.

Podemos facilmente identificar o tipo de erro, as classes mais problemáticas, etc!

Através das curvas ROC podemos estudar comportamentos de modelos em relação a classes (ou custos!)

True Positive = hit - (Cpp)True Negative = rejeição correcta - (Cnn)False Positive = falso alarme (erro Tipo I) - (Cpn)False Negative = miss (erro Tipo II) - (Cnp)

Page 73: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)73

Curvas ROC

• Receiver Operating Characteristics

– É sempre uma boa ideia distinguir desempenho (em termos de accuracy) entre diferentes classes,

– A análise de curvas ROC investiga a relação entre as proporção de positivos e negativos correctamente classificados,

– Relação entre especificidade e sensibilidade de um classificador binário.

– Um classificador gera um score de crença para cada previsão. Um threshold sobre o score decide se a previsão é para um caso positivo na classe.

– A variação do valor de threshold entre mínimo e máximo forma uma curva entre os pontos (0,0) e (1,1) de coordenadas num eixo (Tp_rate,Fp_rate).

Originária da teoria de processamento de sinal. Problema: Como fixar o “ponto de operação” por forma a distinguir presença/ausência de sinal? Depende de: potência do sinal; variância no ruído; esperado hit rate e false alarm rate.

Page 74: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)74

Curvas ROC• Caracteristicas:

– Pode ser usada para:• Determinar valor do threshold que minimiza o erro

de classificação (ou custo) para uma determinada classe,

• Identificar regiões da curva onde um classificador tem melhor desempenho que outro,

• Identifica regiões onde um classificador é pior que um classificador aleatório.

– Análise de ROC debruça-se mais sobre “skew sensitivity” do classificador (sensibilidade à assimetria das classes) do que sobre “cost sensitivity”,

– A noção de “ranking” (ordenação) é mais fundamental do que a noção de classificação.

Page 75: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)75

Ranking versus Classificação• Problema de Classificação:

– Aos casos de treino são atribuídos um valor de classe.– Modelo é construído sobre esses casos.– Modelo faz uma previsão de uma classe para cada caso de

teste.– Avaliação com uma loss function do tipo 0-1 (acerto/erro), ou

seja avalia-se o erro exacto.

• Problema de Ranking:– Aos casos de treino são atribuídos um rank de valores da classe

(uma ordem sobre os possíveis valores da classe).– Modelo é construído sobre esses casos– Modelo faz uma previsão de um rank para cada caso de teste.– Avaliação com uma loss function quadrática, ou seja uma

medida de distância entre rank de previsão e rank do caso real.• Pode-se transformar um problema de classificação num de ranking

à custa de um score. O inverso também acontece com a introdução de um threshold.

Associa-se a cada previsão um

score!

Page 76: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)76

ROCs

• TP rate = TP / (TP+FN)

• FP rate = FP / (FP+TN)

Page 77: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)77

Construção de ROCs• Ordenar os exemplos classificados

por ordem decrescente do valor do score.

• Começar em (0,0). Ligar último ponto a (1,1) se necessário.

• Se o próximo exemplo é positivo mover 1/Pos posições para cima.

• Se o exemplo é negativo mover 1/Neg para o lado direito.

• Em caso de empate mover na diagonal.

NºNº PrePre scorescore

1 p .9

2 p .8

3 n .7

4 p .6

5 p .55

NºNº PrePre scorescore

11 p .4

12 n .39

13 p .38

14 n .37

15 n .36

NºNº PrePre scorescore

16 n .35

17 p .34

18 n .33

19 p .30

20 n .1

NºNº PrePre scorescore

6 p .54

7 n .53

8 n .52

9 p .51

10 n .505

Page 78: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)78

ROCs• Convexidade da curva boa separação entre classes.• AUC (Area Under Curve) representa a probabilidade de

um classificador colocar um exemplo positivo, escolhido aleatoriamente, mais alto na ordenação (ranking) do que um exemplo negativo.

• declive indica dist.classes nesse segmento.

AUC = (Gini_coeff + 1) / 2

Convex Hull: conjunto de segmentos que ligam pontos óptimos em termos de uma determinada distribuição de classes. Representa também uma discretização dos scores que dão origem a AUCs mais altas.

Convex Hull: Mostra os classificadores com mais alta accuracy para uma determinada distribuição de classes.

Page 79: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)79

ROC para comparação de classificadores

Na esquerda, classificador B tem maior área, consequentementemelhor desempenho. Na direita temos um classificador binário Ae um classificador de “scores” B. A é B mas com um threshold fixo. Na esquerda, para FP > 0.5, A é melhor que B. No entanto, globalmente, AUC(B) > AUC(A).

Page 80: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)80

Medidas de Avaliação• Tipicamente, o desempenho de um modelo avalia-se recorrendo ao

valor de accuracy (1 – error rate).

• Mas há outras medidas, nomeadamente aquelas que permitem avaliar a contribuição para o erro global feito por cada classe:

(mede qualidade de cada previsão individual)

(proporção de respostas correctas)

(varia entre 0 e 1 e valores mais altos

sugerem melhores previsões)

Area Under Curve – entre 0 e 1.

FpTp

Tp

Precision

FnTp

Tp

Recall

Precision Recall

Precision Recall 21

F

Mede a capacidade de identificar os casos que não são desta classe.Valores altos indica

poucos erros do tipo I. É o dual de precision!

Page 81: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)81

Classificação com Regras de Associação

• Os modelos são um conjunto seleccionado de regras de associação.

• Regras com um só consequente = classe (CAR rules).

• Várias propostas: CMAR, CBA, Apriori-C.• Vários métodos: BestRule, Votação,

Distribuição de classes,• Uso de diferentes métricas.• Implementação no CAREN

Page 82: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)82

Selecção de Regras CAR

• Noção de cobertura do conjunto de treino1) Ordenar regras por ordem descendente de confiança

2) Para cada exemplo e ∈ Treino, e.count=0;

3) Enquanto conjunto Treino ≠ Ø e Regras ≠ Ø fazer1) Para cada r ∈ Regras

1) Encontrar todos os e que cobrem r 2) Se r classifica bem pelo menos um e 3) Então fazer e.count++ para todos e4) Seleccionar r e retirar de Regras

• Vários propostas: CBA os exemplos de treino são retirados assim que usados. CMAR tem a noção de cobertura δ. Os exemplos são retirados quando e.count > δ.

Page 83: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)83

Selecção de regras• São seleccionadas as primeiras N regras que cobrem o

conjunto de treino (e com mais alta confiança)• CBA usa pessimistic error rate based pruning• CMAR aplica voting (selecção de várias regras que

cobrem o exemplo): Divide regras por grupos de classes que estas representam. Faz votação por Χ2 pesado (de cada grupo).

• Apriori-C usa subset feature selection – remoção de items, e N best rules in each class – escolha por classe.

• CBA faz BestRule - Escolhe regra do topo da ordem. Ordena regras por:– R1 > R2 sse conf(R1) > conf(R2)– Ou conf(R1) == conf(R2) && sup(R1) > sup(R2)– Ou conf(R1) == conf(R2) && sup(R1) == sup(R2)

mas R1 gerada primeiro que R2

Page 84: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)84

Previsão Numérica

Aproximações numéricas a um atributo objectivo contínuo.

Y = aX + b

Page 85: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)85

Previsão Numérica

• Passar da previsão de classes (enumerados) para previsão em atributos contínuos,

• Passamos para um problema de Regressão,• Modelos podem ser Árvores de Regressão – folhas com

valores médios.• Formas mais gerais: Model Trees. Neste caso as folhas

contêm um modelo linear de regressão.• Podemos também ter modelos feitos de regras de

regressão (Cubist, RBA e Caren).• Algoritmos de construção de árvores para regressão

análogos aos de classificação.

Page 86: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)86

Regressão

• Modelos podem ser árvores em que as folhas contêm os valores médios da classe dos exemplos que os “atingem” – Árvores de Regressão.

• Modelos mais sofisticados – Árvores contêm folhas com modelos lineares de regressão (Model Trees).

• Algoritmos idênticos aos de construção de árvores de decisão – escolhe do atributo de “splitting” recorre à minimização da variação do valor numérico de classe dos subconjuntos em causa.

• Diferentes medidas de avaliação (loss functions quadráticas)

Page 87: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)87

Algoritmo M5 (Cubist)

• Modelos são árvores em que cada folha contem uma combinação linear dos atributos presentes nos nós do ramo que conduz a essa folha.

• Previsão é feita analogamente às árvores de decisão –nas folhas é calculada a combinação linear com os valores do novo exemplo.

• Pode haver problemas de descontinuidade entre folhas adjacentes! (mais acentuado se conjunto treino for pequeno).

• Smoothing da previsão – tratar descontinuidade entre os modelos de folhas adjacentes através da adição de modelos linear aos nós intermédios.

• Pruning análogo ao usado no C4.5 – simplificação das árvores nas folhas e nos nós intermédios por remoção de termos dos modelos lineares.

Page 88: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)88

Smoothing (descontinuidade entre folhas adjacentes)

• Em vez de derivar directamente a previsão por aplicação do modelo linear na folha, fazemos smoothing da folha até à raiz sobre o valor obtido da previsão.

• Assim, obtemos um aligeiramento (smoothing) do valor de previsão da classe. O processo decorre “bottom-up”, ao longo do ramo que liga a folha à raiz. O valor final é obtido por combinação do valor de classe previsto com os vários modelos dos nós intermédios.

kn

SMkSPVnSPV

i

ii

)()(

)(

• PV(S) = valor previsto a passar ao nó acima, • ni = número de casos que chegam ao nó abaixo• PV(Si) = valor previsto passado para este nó,• M(S) = valor obtido pelo modelo nesse ramo (folha),• k = constante de aligeiramento e.g. 15.

Page 89: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)89

Smoothing (consequências)• A precisão da árvore de modelos aumenta

consideravelmente com este processo de smoothing.• Isto acontece sobretudo quando:

– O conjunto de treino é pequeno,– Os modelos lineares ao longo de um ramo prevêem muitos

valores diferentes.

• Podemos obter o mesmo efeito, fazendo incluir os modelos intermédios nos nós folha. Assim, durante o processo de previsão, só os nós folhas são usados.

• Uma desvantagem reconhecida é que nesta alternativa os nós folhas são maiores, mais complexos e de mais difícil interpretação (coeficientes que eram zero passam a não zero aquando da incorporação dos modelos intermédios).

Page 90: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)90

Construção da Árvore de Regressão

• Escolha do atributo raiz: critério pelo desvio padrão do atributo numérico classe do conjunto de treino. Escolhe-se o atributo que minimiza este valor (SDR).

• Critério de paragem: quando o sdr do atributo escolhido no “splitting” é uma fracção do sdr do conjunto de treino inicial.

• Os modelos linear em cada nó são obtidos por regressão linear nos exemplos que atingem esse nó ( e.g. mínimos quadrados)

• Os atributos categóricos são convertidos (em pré processamento) em binários (k valores do atributo dão origem a k-1 novos atributos)

Page 91: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)91

Exemplo de uma Model Treecom os seus modelos lineares

(servo dataset)

Os 5 valores do atributo nominal motor dão origem a 4 atributos binários. Ex: ler o atributo binário motor=D como D versus E,C,B,A!

Page 92: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)92

Regras do Cubist

Casos cobertos Valor médio de PRICE dos casos cobertos

Intervalos de valores gerados pela regra

Erro estimado para a regra

• As regras estão ordenados pelo valor médio de PRICE associado. Assim,a regra 9 é a que gera o preço mais caro de casas em Boston.• Dentro dos modelos lineares, os atributos que mais contribuem para o modelo surgem primeiro. Na regra 8, CRIM é o atributo que mais contribui (negativamente).• Classificação típica: verificar regras que cobrem o novo caso, calcular ovalor (de PRICE) de cada regra, prever a média dos valores calculados.

Page 93: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)

Medidas de Avaliação(previsão numérica)

93

n

apapmse nn

2211 )(...)(

n

apapmae nn

...11

1

)()(

))((.

22

n

aapp

aappcoefcorr

ii

ii

ii

i

a1, a2, ...,an vector de valores reais.p1, p2,...,pn vector de valores previstos.

correl = cov(p,a) /var(a) x var(p). Insensivel à escala de valores usada na classe!

Erro médio quadrado

Erro médio absoluto

Page 94: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)94

Combinação de Modelos Ideia: Usar (gerando ou não) múltiplos modelos para obter múltiplas predições para o mesmo exemplo a classificar. Combinar predições para obter previsão final.

Page 95: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)95

• Motivação prática usando o Netflix Prize:

• Tarefa:– O treino representa um conjunto de utilizadores e os

ratings ( rate ∈ {1,2,3,4,5, stars}) que estes atribuíram a filmes por si alugados.

– Construir um classificador que, dado um utilizador e um filme sem rate atribuído, classifica correctamente o filme com o rate certo (1, 2, 3, 4, 5 ou stars).

• Prémio de $1 milhão de dólares se o classificador obtiver uma melhoria de desempenho de 10% sobre o movie recommender/classifier da Netflix (MSE netflix = 0.9514)

Início em Outubro de 2006

Page 96: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)96

Ranking com os 30 melhores classificadores, quando o líder tinha uma melhoria de 8.5% sobre o Netflix.

Métodos que recorrem a ensembles de modelos (composição de modelos) têm o melhor desempenho!

alguns exemplos…

Page 97: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)97

Rookies: “Thanks to Paul Harrison's collaboration, a simple mix of our solutions improved our result from 6.31 to 6.75”

Arek Paterek: “My approach is to combine the results of many methods (also two-way interactions between them) using linear regression on the test set. The best method in my ensemble is regularized SVD with biases, post processed with kernel ridge regression”

Gravity:

When Gravity and Dinosaurs Unite: “Our common team blends the result of team Gravity and team Dinosaur Planet.” (podia-se ter adivinhado pelo nome…)

BellKor: “Our final solution (RMSE=0.8705) consists of blending 107 individual results.“

U. of Toronto: “When the predictions of multiple RBM models and multiple SVD models are linearly combined, we achieve an error rate that is well over 6% better than the score of Netflix’s own system.”

Page 98: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)98

Composição de Modelos (1)

• Motivação: Não existe um algoritmo que seja melhor em todos os problemas (“no free lunch theorem”)

• i.e. para cada ganho em desempenho numa sub-classe do problema há outra que tem o mesmo ganho em valor negativo.

• Exploração de diferentes linguagem de representação, espaços de procura e funções de avaliação.

• Condição necessária para que ocorra melhoria de desempenho: um conjunto melhora sobre os classificadores individuais se estes discordam entre si

Page 99: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)99

Composição de Modelos (2)

• Erro correlacionado (métrica de diversidade entre as predições de dois classificadores): probabilidade de dois classificadores cometerem o mesmo erro dado que um deles comete um erro.

• Ou seja, diferentes tipos de erros a ocorrer em diferentes regiões do espaço.

• Outra condição necessária: todos os classificadores envolvidos no conjunto têm desempenho melhor do que a escolha aleatória (“random guess”).

Page 100: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)100

Composição de Modelos (3)• A escolha de um só modelo levanta problemas

estatísticos (decisão sem suporte), computacionais (máximos locais) e de representação (a hipótese não está no espaço).

• Uso de múltiplos modelos tende a minimizar todos estes problemas.

• Combinação de predições:– Voting (ponderada)– Voting (uniforme)– Class distribuition (CAREN)

• Geração de Modelos Homogéneos– Bagging– Boosting

• Geração de Modelos Heterogéneos– Stacking

Page 101: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)101

Bagging• Boostrapp AGGregation,• boostrapping dos vários conjuntos de treino,• Cada conjunto de treino (de tamanho igual ao dataset inicial) dá origem a um modelo,• (amostragem com substituição/reposição)• Previsão feita por votação uniforme.

• Funciona porque reduz a variabilidade dos modelosindividuais escolhendo o voto maioritário de muitos modelos.• Em árvores de decisão acontece:

• na escolha do um atributo de teste para um nó• na escolha dos cut-points nos atributos numéricos.

Page 102: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)102

Algoritmo Bagging

For 1 to k,1. Take a bootstrap sample (sampling with

replacement) of the training examples

2. Build a model using sample

3. Add model to ensemble

Para fazer uma previsão, correr cada modelo no ensemble, e usar a classe mais votada (previsão maioritária).

Page 103: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)103

Bagging

D

S1

S2

Sn

M1

M2

Mn

pred1

pred2

predn

finalprediction

sampling voting

Page 104: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)104

Bagging

D

S1

S2

Sn

M1

M2

Mn

pred1

pred2

predn

finalpredictionD

M1

M2

Mn

pred1

pred2

predn

finalpredictionR

Post Bagging

sampling voting

Page 105: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)105

Post-Bagging (CAREN)

• Jorge & Azevedo (Discovery Science 05)

• Amostragem de regras em vez de casos,

• Não há necessidade de “relearning”,

• Conjunto de variantes sobre tipo de votos, e possibilidade de “don’t knows”,

• Implementado no CAREN.

Page 106: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)106

Boosting• Algoritmo iterativo• Associa um peso a cada exemplo• Inicializar os peso de uma forma uniforme• Iterativamente:

• gera um modelo para a actual distribuição dos exemplos (distribuição dada pelos pesos)• os pesos dos exemplos mal classificadossão incrementados para a próxima iteração.

• Os modelos gerados são agregados por votação pesada.• Há redução do bias e da variância.

Page 107: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)107

Boosting (2)

• Weak learner que gera um hiper-plano paralelo a um dos eixos

+

--+

+

-

+

Treino

Treino

+

--+

-+

Decisão

Decisão

1ºIteração

2ºIteração

++

+

+

++

+

++

-

-

+

--+

++

Composição dosDois modelos

No limite, boosting consegue “cobrir” todos os casos, i.e. accuracy de treino → 1.0

Page 108: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)108

AdaBoost.M1Algoritmo standard que implementa o princípio de Adaptative Boosting.

Page 109: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)109

Exemplo (AdaBoost.M1)

Dataset de treino inicial que dá origem ao 1º modelo

Page 110: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)110

Exemplo (AdaBoost.M1)Primeiro avaliação dando origem ao 2º conjunto de treino. (notar valores de erro e ponderação)

Page 111: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)111

Exemplo (AdaBoost.M1)Segunda iteração originando 3º conjunto de treino

Page 112: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)112

Exemplo (AdaBoost.M1)Terceiro e último modelo

Page 113: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)113

Exemplo (AdaBoost.M1)

Hipótese Final

Page 114: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)114

AdaBoost.M1

Page 115: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)115

AdaBoost & Overfitting

Segunda curva representa erro no treino. Curva no topo é o erro em teste.Notar que mesmo depois da curva de treino atinger zero a curva de teste continua a progredir (i.e. o erro a baixar).

Page 116: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)116

Instance Based Learning

• Modelos de previsão podem responder a uma query de duas formas:

– Eager• Modelo previamente construido, expor novos

casos ao modelo e.g. árvores de decisão

– Lazy• Previsão elaborado sobre o próprio conjunto de

treino e.g. k-nearest neighbor.

Page 117: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)117

Instance Based Learning (2)

• Define-se uma função de distância, para encontrar o exemplo no treino que mais se aproxima do caso a classificar. Previsão derivada coincide com valor objectivo do exemplo encontrado.

• Função distância := tipicamente resume-se ao cálculo da distância Euclidiana. Normaliza-se valores para diluir questões de escala nos atributos.

Page 118: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)118

K-Nearest Neighbors

• Variante da primeira, onde se procura os k vizinhos mais próximos. Previsão feita por votação uniforme, seguindo os valores objectivo dos k vizinhos.

• Método lento quando o conjunto de treino é grande! Tem também dificuldades na presença de nulos.

Page 119: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)119

Combinação a la CUBIST

• Oferece a possibilidade de derivar previsões por combinação de dois modelos (rule based model + instance based model),

• O primeiro é um modelo de regras de regressão,

• O segundo é um k-nearest neighbors em que a previsão é a média dos k vizinhos (estamos a fazer previsão numérica!)

Page 120: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)120

Combinação a la Quinlan

• Procedimento:– Procurar os k elementos de treino mais

similares ao caso a prever,– Substituir média das k previsões por média

do ajustamento dos k valores à custa das regras de regressão:

Predy(x) = T(y) + M(x) - M(y)

Novo caso

Caso vizinho dentro dos k exemplos de treino

Valor do objectivo em y

Aplicação do modelos de regras em x

Aplicação do modelo de

regras em y

Page 121: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)121

Decomposição Bias-VarianceO erro de um modelo pode ser decomposto em três

componentes:

– Bias (viez)– Variância– Ruído no objectivo (noise)

Bias mede a capacidade da previsão média de um algoritmo de aprendizagem (sobre todos os possíveis conjuntos de treino) acertar no objectivo. É também conhecido como erro de persistência – erro de tendência central.

Variância mede a variabilidade da previsão de um algoritmo para diferentes conjuntos de treino de um dado tamanho. Ou seja, mede o “bounce around” do algoritmo para todos os conjuntos de treino.

Ruído é o limite mínimo de erro esperado para qualquer algoritmo de aprendizagem (classificador Bayes Óptimo). É também conhecido como erro irredutível.

Page 122: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)122

Bias-Variance (reformulação)Objectivo do processo de aprendizagem é obter uma aproximação à função f,

Dado o conjunto de treino,

Componente independente da função h

A distância para f Variância das predições

encontrar a função h entre um conjunto fixo de subclasses de funções para as quais o erro E(h) é mínimo,

Page 123: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)123

Bias-Variance (2)Diferentes tipos de modelos originam diferentes

erros no mesmo dataset de treino.

• A componente bias é grande se:– Se o modelo escolhido não for adequado ao dataset– O tipo de classificador escolhido não permite modelar

bem os dados– Espaço de modelos (hipóteses) fornecido pelo

método de previsão não contém um número suficientes de hipóteses.

– Naive Bayes tem tendência a ter bias alto. Por outro lado, árvores de decisão tem normalmente bias baixo.

Page 124: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)124

Bias-Variance (3)O mesmo tipo de classificador tem diferentes erros com

diferentes conjuntos de treino.

• A variância é grande se:

– Existir um número significativo de escolhas aleatórias durante o processo de construção do modelo, como por exemplo:

• Escolher um exemplo para semente (seed)• Escolha de um atributo decisor entre vários com igualdade de

valores de avaliação.– O modelo contém múltiplos parâmetros que necessitam de ser

definidos.– O espaço disponível de hipóteses (associado ao conjunto de

treino) é demasiado grande, e o modelo (hipótese) escolhido pode não ser preciso com os casos de teste.

• Bagging tem tendência a baixar a variância dos classificadores originais.

Page 125: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)125

Bias-Variance (4)• Bagging reduz essencialmente a componente de

variância do erro do classificador original• Boosting reduz bias e variância.• Árvores de decisão: bias baixo, variância alta.• Naive Bayes e discriminantes: variância baixa, bias alto.• Se aumentarmos o número de graus de liberdade do

modelo:– Bias diminui,– Variância aumenta.

Para minimizar o erro esperado é necessário um compromisso entre estas duas componentes.

Page 126: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)126

Bias-variance (Cálculo)

• Seguindo (Kohavi&Wolpert), para 1-0 loss functions

• P(YH = y | x) - valor médio de y previsto pelo algoritmo para o caso x.

• P(YF = y | x) - probabilidade de o objectivo ter o valor y para o caso x.

y

HFx xyYPxyYPbias 22 )]|()|([2

1

y

Hx xyYPVar 2))|(1(2

1

y

F xyYP 22x ))|(1(

2

1

Tipicamente ignorado na nossa avaliação

Para cada classe

Todos os modelos

Cada caso de teste

Page 127: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)127

Bias-variance (Cálculo) 2Na prática seguimos a seguinte metodologia:

• Para cada dataset dividir em D e E, sendo D o treino e E o test (#D=2m, #E=n, E={x1,x2,…,xn}).

• Gerar m conjuntos de treino a partir de D usando amostragem uniforme sem reposição.

• Correr o algoritmo em cada um dos m conjuntos de treino. Estimar σ2, bias2 e Var usando os valores de erro obtidos da aplicação dos modelos derivados no conjunto E (simples contagem de frequências).

mmCsetsmsDsmD 2# , 2

Page 128: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)128

• Comparação do erro decomposto para classificadores ID3 e composição de 50 árvores ID3 (versões treinadas com 0.7 e 0.9 do conj D)

• Composição aumenta levemente o bias mas estabiliza o ID3, baixando a variância.

Bias-variance (Exemplo)

Page 129: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)129

Exemplo com Bagging & Boosting

Bias

Variance

(figura incompleta!)

== C4.5 (implementação MLC++)

Page 130: Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010)130

Conclusão• Estudo de modelos de previsão. Modelos

podem ser visto como estimadores.• Diferentes tipos de previsão – categórica e

numérica.• Algoritmos para gerar árvores de decisão para

classificação (e também para previsão numérica)

• Avaliação de Modelos. Várias medidas baseado na noção de erro estimado.

• Avaliação orientada à classe. Medidas.• Composição de Modelos.• Decomposição Bias-Variance. Análise das

componentes do erro.