RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme...

61
RIPPER RIPPER Fast Effective Rule Fast Effective Rule Induction Induction William W. Cohen William W. Cohen apresentação apresentação Felipe Hoppe Levin Felipe Hoppe Levin Guilherme Dal Bianco Guilherme Dal Bianco

Transcript of RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme...

Page 1: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

RIPPERRIPPERFast Effective Rule InductionFast Effective Rule Induction

William W. CohenWilliam W. Cohen

apresentaçãoapresentação

Felipe Hoppe LevinFelipe Hoppe LevinGuilherme Dal BiancoGuilherme Dal Bianco

Page 2: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Regras de Classificação - Regras de Classificação - VantagensVantagens

Fáceis de entenderFáceis de entender Melhores que árvores de decisão em Melhores que árvores de decisão em

muitos problemasmuitos problemas Representáveis em lógica de Representáveis em lógica de

primeira ordemprimeira ordem Fácil de implementar em linguagens Fácil de implementar em linguagens

como PROLOGcomo PROLOG

Page 3: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Regras de Classificação - Regras de Classificação - DesvantagensDesvantagens

Pouco escaláveisPouco escaláveis Desempenho ruim em dados com Desempenho ruim em dados com

muito ruídomuito ruído Tipicamente em dados reaisTipicamente em dados reais

Page 4: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

ObjetivoObjetivo

Desenvolver um algoritmo de Desenvolver um algoritmo de aprendizado de regras de aprendizado de regras de classificação que seja:classificação que seja: EscalávelEscalável Eficiente com dados ruidososEficiente com dados ruidosos Competitivo com algoritmos de árvores Competitivo com algoritmos de árvores

de decisão como C4.5 / C4.5rulesde decisão como C4.5 / C4.5rules

Page 5: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Solução Estudada: IREPSolução Estudada: IREP

““Poda” das regrasPoda” das regras Simplificação diminui a interferência de Simplificação diminui a interferência de

dados ruidososdados ruidosos Divisão e ConquistaDivisão e Conquista

Conjunto de Treinamento (2/3 dos dados)Conjunto de Treinamento (2/3 dos dados) Conjunto de Validação (1/3 dos dados)Conjunto de Validação (1/3 dos dados) Gerados aleatoriamenteGerados aleatoriamente

““Poda” cada regra criada Poda” cada regra criada iterativamenteiterativamente Até que a “poda” reduza a acuráciaAté que a “poda” reduza a acurácia

Page 6: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

O algoritmo IREPO algoritmo IREPprocedure IREP(Pos,Neg)begin

Ruleset = Øwhile Pos ≠ Ø do

split (Pos,Neg) into (GrowPos,GrowNeg)and (PrunePos,PruneNeg)

Rule := GrowRule(GrowPos,GrowNeg)Rule := PruneRule(Rule,PrunePos,PruneNeg)if the error rate of Rule on (PrunePos,PruneNeg)

exceeds 50% thenreturn Ruleset

elseadd Rule to Rulesetremove examples covered by Rule from

(Pos,Neg)endif

endwhilereturn Ruleset

end

Page 7: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

ExemploExemplo

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

11 EnsolaradoEnsolarado QuenteQuente AltaAlta FalsoFalso NãoNão

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

33 NubladoNublado QuenteQuente AltaAlta FalsoFalso SimSim

44 ChuvosoChuvoso AmenaAmena AltaAlta FalsoFalso SimSim

55 ChuvosoChuvoso FriaFria NormalNormal FalsoFalso SimSim

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

99 EnsolaradoEnsolarado FriaFria NormalNormal FalsoFalso SimSim

1010 ChuvosoChuvoso AmenaAmena NormalNormal FalsoFalso SimSim

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

1313 NubladoNublado QuenteQuente NormalNormal FalsoFalso SimSim

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

Page 8: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - IREPExemplo - IREP

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

11 EnsolaradoEnsolarado QuenteQuente AltaAlta FalsoFalso NãoNão

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

33 NubladoNublado QuenteQuente AltaAlta FalsoFalso SimSim

44 ChuvosoChuvoso AmenaAmena AltaAlta FalsoFalso SimSim

55 ChuvosoChuvoso FriaFria NormalNormal FalsoFalso SimSim

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

99 EnsolaradoEnsolarado FriaFria NormalNormal FalsoFalso SimSim

1010 ChuvosoChuvoso AmenaAmena NormalNormal FalsoFalso SimSim

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

1313 NubladoNublado QuenteQuente NormalNormal FalsoFalso SimSim

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

Transações são separadas nos grupos POS e NEG

Page 9: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - IREPExemplo - IREP

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

33 NubladoNublado QuenteQuente AltaAlta FalsoFalso SimSim

44 ChuvosoChuvoso AmenaAmena AltaAlta FalsoFalso SimSim

55 ChuvosoChuvoso FriaFria NormalNormal FalsoFalso SimSim

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

99 EnsolaradoEnsolarado FriaFria NormalNormal FalsoFalso SimSim

1010 ChuvosoChuvoso AmenaAmena NormalNormal FalsoFalso SimSim

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

1313 NubladoNublado QuenteQuente NormalNormal FalsoFalso SimSim

11 EnsolaradoEnsolarado QuenteQuente AltaAlta FalsoFalso NãoNão

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

Page 10: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - IREPExemplo - IREP

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

33 NubladoNublado QuenteQuente AltaAlta FalsoFalso SimSim

44 ChuvosoChuvoso AmenaAmena AltaAlta FalsoFalso SimSim

55 ChuvosoChuvoso FriaFria NormalNormal FalsoFalso SimSim

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

99 EnsolaradoEnsolarado FriaFria NormalNormal FalsoFalso SimSim

1010 ChuvosoChuvoso AmenaAmena NormalNormal FalsoFalso SimSim

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

1313 NubladoNublado QuenteQuente NormalNormal FalsoFalso SimSim

11 EnsolaradoEnsolarado QuenteQuente AltaAlta FalsoFalso NãoNão

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

A cada iteração, são formados os grupos GrowPos, GrowNeg,

PrunePos e PruneNeg de forma aleatória.

Page 11: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - IREPExemplo - IREP

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

33 NubladoNublado QuenteQuente AltaAlta FalsoFalso SimSim

44 ChuvosoChuvoso AmenaAmena AltaAlta FalsoFalso SimSim

55 ChuvosoChuvoso FriaFria NormalNormal FalsoFalso SimSim

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

99 EnsolaradoEnsolarado FriaFria NormalNormal FalsoFalso SimSim

1010 ChuvosoChuvoso AmenaAmena NormalNormal FalsoFalso SimSim

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

1313 NubladoNublado QuenteQuente NormalNormal FalsoFalso SimSim

11 EnsolaradoEnsolarado QuenteQuente AltaAlta FalsoFalso NãoNão

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

GP

PP

GN

PN

Page 12: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

O algoritmo IREPO algoritmo IREPprocedure IREP(Pos,Neg)begin

Ruleset = Øwhile Pos ≠ Ø do

split (Pos,Neg) into (GrowPos,GrowNeg)and (PrunePos,PruneNeg)

Rule := GrowRule(GrowPos,GrowNeg)Rule := PruneRule(Rule,PrunePos,PruneNeg)if the error rate of Rule on (PrunePos,PruneNeg)

exceeds 50% thenreturn Ruleset

elseadd Rule to Rulesetremove examples covered by Rule from

(Pos,Neg)endif

endwhilereturn Ruleset

end

Page 13: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

GrowRuleGrowRule Cria uma nova regraCria uma nova regra Adiciona condições que maximizam o Adiciona condições que maximizam o

critério de ganho de informação de FOILcritério de ganho de informação de FOIL t · [ log2 ( p1 / ( p1+n1 )) - log2 (p0 / (p0 + n0)) ]

p: positivosp: positivos n: negativosn: negativos t: positivos cobertos pelas duas regrast: positivos cobertos pelas duas regras

Para de adicionar condições quando a Para de adicionar condições quando a regra não cobrir nenhuma transação regra não cobrir nenhuma transação negativanegativa

Page 14: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - GrowRuleExemplo - GrowRule

## TempoTempo TemperatuTemperaturara UmidadeUmidade VentosoVentoso JogaJoga

33 NubladoNublado QuenteQuente AltaAlta FalsoFalso SimSim

44 ChuvosoChuvoso AmenaAmena AltaAlta FalsoFalso SimSim

55 ChuvosoChuvoso FriaFria NormalNormal FalsoFalso SimSim

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

99 EnsolaradoEnsolarado FriaFria NormalNormal FalsoFalso SimSim

1010 ChuvosoChuvoso AmenaAmena NormalNormal FalsoFalso SimSim

11 EnsolaradoEnsolarado QuenteQuente AltaAlta FalsoFalso NãoNão

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

GP

GN

Regra: Ventoso = Falso

Page 15: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - GrowRuleExemplo - GrowRule

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

33 NubladoNublado QuenteQuente AltaAlta FalsoFalso SimSim

44 ChuvosoChuvoso AmenaAmena AltaAlta FalsoFalso SimSim

55 ChuvosoChuvoso FriaFria NormalNormal FalsoFalso SimSim

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

99 EnsolaradoEnsolarado FriaFria NormalNormal FalsoFalso SimSim

1010 ChuvosoChuvoso AmenaAmena NormalNormal FalsoFalso SimSim

11 EnsolaradoEnsolarado QuenteQuente AltaAlta FalsoFalso NãoNão

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

GP

GN

Regra: Ventoso = Falso

t · [ log2 ( p1 / ( p1+n1 )) - log2 (p0 / (p0 + n0)) ]

Page 16: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - GrowRuleExemplo - GrowRule

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

33 NubladoNublado QuenteQuente AltaAlta FalsoFalso SimSim

44 ChuvosoChuvoso AmenaAmena AltaAlta FalsoFalso SimSim

55 ChuvosoChuvoso FriaFria NormalNormal FalsoFalso SimSim

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

99 EnsolaradoEnsolarado FriaFria NormalNormal FalsoFalso SimSim

1010 ChuvosoChuvoso AmenaAmena NormalNormal FalsoFalso SimSim

11 EnsolaradoEnsolarado QuenteQuente AltaAlta FalsoFalso NãoNão

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

GP

GN

Regra: Ventoso = Falso

5· [ log2 ( p1 / ( p1+n1 )) - log2 (p0 / (p0 + n0)) ]

Page 17: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - GrowRuleExemplo - GrowRule

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

33 NubladoNublado QuenteQuente AltaAlta FalsoFalso SimSim

44 ChuvosoChuvoso AmenaAmena AltaAlta FalsoFalso SimSim

55 ChuvosoChuvoso FriaFria NormalNormal FalsoFalso SimSim

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

99 EnsolaradoEnsolarado FriaFria NormalNormal FalsoFalso SimSim

1010 ChuvosoChuvoso AmenaAmena NormalNormal FalsoFalso SimSim

11 EnsolaradoEnsolarado QuenteQuente AltaAlta FalsoFalso NãoNão

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

GP

GN

Regra: Ventoso = Falso

5· [ log2 ( 5 / ( 5 + 1 )) - log2 (6 / (6 + 3)) ]

Page 18: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - GrowRuleExemplo - GrowRule

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

33 NubladoNublado QuenteQuente AltaAlta FalsoFalso SimSim

44 ChuvosoChuvoso AmenaAmena AltaAlta FalsoFalso SimSim

55 ChuvosoChuvoso FriaFria NormalNormal FalsoFalso SimSim

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

99 EnsolaradoEnsolarado FriaFria NormalNormal FalsoFalso SimSim

1010 ChuvosoChuvoso AmenaAmena NormalNormal FalsoFalso SimSim

11 EnsolaradoEnsolarado QuenteQuente AltaAlta FalsoFalso NãoNão

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

GP

GN

Regra: Ventoso = Falso

5· [ -0,26 + 0,58 ] = 5 · 0,32 = 1,6 bits de ganho de informação

Page 19: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - GrowRuleExemplo - GrowRule Ventoso = Falso Ventoso = Falso → 1,60 bits→ 1,60 bits Ventoso = Verdadeiro Ventoso = Verdadeiro → -1 bits→ -1 bits Umidade = Alta Umidade = Alta → -0,83 bits→ -0,83 bits Umidade = Normal Umidade = Normal → 1,05 bits→ 1,05 bits Temper. = Quente Temper. = Quente → -1 bits→ -1 bits Temper. = Amena Temper. = Amena → 1,17 bits→ 1,17 bits Temper.= Fria Temper.= Fria → 0,51 bits→ 0,51 bits Tempo = Nublado Tempo = Nublado → 1,17 bits→ 1,17 bits Tempo = Ensolarado Tempo = Ensolarado → -1 bits→ -1 bits Tempo = Chuvoso Tempo = Chuvoso → 0,51 bits→ 0,51 bits

Page 20: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - GrowRuleExemplo - GrowRule Ventoso = Falso Ventoso = Falso → 1,60 bits → 1,60 bits →→ Maior ganhoMaior ganho Ventoso = Verdadeiro Ventoso = Verdadeiro → -1 bits→ -1 bits Umidade = Alta Umidade = Alta → -0,83 bits→ -0,83 bits Umidade = Normal Umidade = Normal → 1,05 bits→ 1,05 bits Temper. = Quente Temper. = Quente → -1 bits→ -1 bits Temper. = Amena Temper. = Amena → 1,17 bits→ 1,17 bits Temper.= Fria Temper.= Fria → 0,51 bits→ 0,51 bits Tempo = Nublado Tempo = Nublado → 1,17 bits→ 1,17 bits Tempo = Ensolarado Tempo = Ensolarado → -1 bits→ -1 bits Tempo = Chuvoso Tempo = Chuvoso → 0,51 bits→ 0,51 bits

Page 21: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - GrowRuleExemplo - GrowRule

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

3 Nublado Quente Alta Falso Sim

4 Chuvoso Amena Alta Falso Sim

5 Chuvoso Fria Normal Falso Sim

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

9 Ensolarado Fria Normal Falso Sim

10 Chuvoso Amena Normal Falso Sim

1 Ensolarado Quente Alta Falso Não

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

GP

GN

Regra: Ventoso = Falso

Cobre 1 regra negativa → Continua adicionando condições

Page 22: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - GrowRuleExemplo - GrowRule Ventoso = Falso and Umidade = Alta Ventoso = Falso and Umidade = Alta → -0,64 bits→ -0,64 bits Ventoso = Falso and Umidade = Normal Ventoso = Falso and Umidade = Normal → 0,79 → 0,79

bitsbits Ventoso = Falso and Temper. = Quente Ventoso = Falso and Temper. = Quente → -0,74 → -0,74

bitsbits Ventoso = Falso and Temper. = Amena Ventoso = Falso and Temper. = Amena → 0,53 bits→ 0,53 bits Ventoso = Falso and Temper.= Fria Ventoso = Falso and Temper.= Fria → 0,53 bits→ 0,53 bits Ventoso = Falso and Tempo = Nublado Ventoso = Falso and Tempo = Nublado → 0,26 bits→ 0,26 bits Ventoso = Falso and Tempo = Ensolar. Ventoso = Falso and Tempo = Ensolar. → -0,74 bits→ -0,74 bits Ventoso = Falso and Tempo = Chuvoso Ventoso = Falso and Tempo = Chuvoso → 0,79 bits→ 0,79 bits

Page 23: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - GrowRuleExemplo - GrowRule Ventoso = Falso and Umidade = Alta Ventoso = Falso and Umidade = Alta → -0,64 bits→ -0,64 bits Ventoso = Falso and Umidade = Normal Ventoso = Falso and Umidade = Normal → 0,79 bits→ 0,79 bits Ventoso = Falso and Temper. = Quente Ventoso = Falso and Temper. = Quente → -0,74 bits→ -0,74 bits Ventoso = Falso and Temper. = Amena Ventoso = Falso and Temper. = Amena → 0,53 bits→ 0,53 bits Ventoso = Falso and Temper.= Fria Ventoso = Falso and Temper.= Fria → 0,53 bits→ 0,53 bits Ventoso = Falso and Tempo = Nublado Ventoso = Falso and Tempo = Nublado → 0,26 bits→ 0,26 bits Ventoso = Falso and Tempo = Ensolar. Ventoso = Falso and Tempo = Ensolar. → -0,74 bits→ -0,74 bits Ventoso = Falso and Tempo = Chuvoso Ventoso = Falso and Tempo = Chuvoso → 0,79 bits→ 0,79 bits

Ventoso = Falso and Umidade = NormalVentoso = Falso and Umidade = Normalouou

Ventoso = Falso and Tempo = ChuvosoVentoso = Falso and Tempo = Chuvoso

Page 24: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - GrowRuleExemplo - GrowRule

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

3 Nublado Quente Alta Falso Sim

4 Chuvoso Amena Alta Falso Sim

5 Chuvoso Fria Normal Falso Sim

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

9 Ensolarado Fria Normal Falso Sim

10 Chuvoso Amena Normal Falso Sim

1 Ensolarado Quente Alta Falso Não

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

GP

GN

Regra: Ventoso = Falso and Umidade = Normal

Não cobre regras negativas → Para de adicionar condições

Page 25: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

O algoritmo IREPO algoritmo IREPprocedure IREP(Pos,Neg)begin

Ruleset = Øwhile Pos ≠ Ø do

split (Pos,Neg) into (GrowPos,GrowNeg)and (PrunePos,PruneNeg)

Rule := GrowRule(GrowPos,GrowNeg)Rule := PruneRule(Rule,PrunePos,PruneNeg)if the error rate of Rule on (PrunePos,PruneNeg)

exceeds 50% thenreturn Ruleset

elseadd Rule to Rulesetremove examples covered by Rule from

(Pos,Neg)endif

endwhilereturn Ruleset

end

Page 26: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

PruneRulePruneRule ““Poda” a regra criadaPoda” a regra criada Exclui seqüência final de condições que Exclui seqüência final de condições que

maximizam a função:maximizam a função: v = (p + (N – n)) / (P + N)v = (p + (N – n)) / (P + N) p: positivos em PrunePos cobertos pela regrap: positivos em PrunePos cobertos pela regra n: negativos em PruneNeg cobertos pela regran: negativos em PruneNeg cobertos pela regra P: positivos em PrunePosP: positivos em PrunePos N: negativos em PruneNegN: negativos em PruneNeg

Deixa de excluir quando o valor de v deixa Deixa de excluir quando o valor de v deixa de ser melhoradode ser melhorado

Page 27: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - PruneRuleExemplo - PruneRule

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

1313 NubladoNublado QuenteQuente NormalNormal FalsoFalso SimSim

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

PP

PN

Regra: Ventoso = Falso and Umidade = Normal

Page 28: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - PruneRuleExemplo - PruneRule

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

1313 NubladoNublado QuenteQuente NormalNormal FalsoFalso SimSim

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

PP

PN

Regra: Ventoso = Falso and Umidade = Normalv = (p + (N – n)) / (P + N)v = (p + (N – n)) / (P + N)

Page 29: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - PruneRuleExemplo - PruneRule

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

1313 NubladoNublado QuenteQuente NormalNormal FalsoFalso SimSim

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

PP

PN

Regra: Ventoso = Falso and Umidade = Normalv = (p + (N – n)) / (P + N)v = (p + (N – n)) / (P + N)v = (1 + (2 – 0)) / (3 + 2)v = (1 + (2 – 0)) / (3 + 2)v = 3 / 5 = 0,6v = 3 / 5 = 0,6

Page 30: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - PruneRuleExemplo - PruneRule

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

1313 NubladoNublado QuenteQuente NormalNormal FalsoFalso SimSim

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

PP

PN

Regra: Ventoso = Falsov = (p + (N – n)) / (P + N)v = (p + (N – n)) / (P + N)v = (1 + (2 – 1)) / (3 + 2)v = (1 + (2 – 1)) / (3 + 2)v = 2 / 5 = 0,4v = 2 / 5 = 0,4

Page 31: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - PruneRuleExemplo - PruneRule

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

1313 NubladoNublado QuenteQuente NormalNormal FalsoFalso SimSim

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

PP

PN

Regra: Ventoso = Falsov = (p + (N – n)) / (P + N)v = (p + (N – n)) / (P + N)v = (1 + (2 – 1) )/ (3 + 2)v = (1 + (2 – 1) )/ (3 + 2)v = 2 / 5 = 0,4v = 2 / 5 = 0,4

Como o valor de v para a regra original é Como o valor de v para a regra original é maior (0,6), então não faz a “poda”.maior (0,6), então não faz a “poda”.

Page 32: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

O algoritmo IREPO algoritmo IREPprocedure IREP(Pos,Neg)begin

Ruleset = Øwhile Pos ≠ Ø do

split (Pos,Neg) into (GrowPos,GrowNeg)and (PrunePos,PruneNeg)

Rule := GrowRule(GrowPos,GrowNeg)Rule := PruneRule(Rule,PrunePos,PruneNeg)if the error rate of Rule on (PrunePos,PruneNeg)

exceeds 50% thenreturn Ruleset

elseadd Rule to Rulesetremove examples covered by Rule from

(Pos,Neg)endif

endwhilereturn Ruleset

end

Page 33: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo – Condição de Exemplo – Condição de ParadaParada

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

1313 NubladoNublado QuenteQuente NormalNormal FalsoFalso SimSim

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

PP

PN

Regra: Ventoso = Falso and Umidade = Normal

Page 34: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo – Condição de Exemplo – Condição de ParadaParada

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

1313 NubladoNublado QuenteQuente NormalNormal FalsoFalso SimSim

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

PP

PN

Regra: Ventoso = Falso and Umidade = Normal

Positivos: 1Negativos: 0

Taxa de Erro = 0 → Continua o algoritmo

Page 35: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

O algoritmo IREPO algoritmo IREPprocedure IREP(Pos,Neg)begin

Ruleset = Øwhile Pos ≠ Ø do

split (Pos,Neg) into (GrowPos,GrowNeg)and (PrunePos,PruneNeg)

Rule := GrowRule(GrowPos,GrowNeg)Rule := PruneRule(Rule,PrunePos,PruneNeg)if the error rate of Rule on (PrunePos,PruneNeg)

exceeds 50% thenreturn Ruleset

elseadd Rule to Rulesetremove examples covered by Rule from

(Pos,Neg)endif

endwhilereturn Ruleset

end

Page 36: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo – Removendo Exemplo – Removendo TransaçõesTransações

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

33 NubladoNublado QuenteQuente AltaAlta FalsoFalso SimSim

44 ChuvosoChuvoso AmenaAmena AltaAlta FalsoFalso SimSim

55 ChuvosoChuvoso FriaFria NormalNormal FalsoFalso SimSim

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

99 EnsolaradoEnsolarado FriaFria NormalNormal FalsoFalso SimSim

1010 ChuvosoChuvoso AmenaAmena NormalNormal FalsoFalso SimSim

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

1313 NubladoNublado QuenteQuente NormalNormal FalsoFalso SimSim

11 EnsolaradoEnsolarado QuenteQuente AltaAlta FalsoFalso NãoNão

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

Page 37: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo – Removendo Exemplo – Removendo TransaçõesTransações

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

33 NubladoNublado QuenteQuente AltaAlta FalsoFalso SimSim

44 ChuvosoChuvoso AmenaAmena AltaAlta FalsoFalso SimSim

55 ChuvosoChuvoso FriaFria NormalNormal FalsoFalso SimSim

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

99 EnsolaradoEnsolarado FriaFria NormalNormal FalsoFalso SimSim

1010 ChuvosoChuvoso AmenaAmena NormalNormal FalsoFalso SimSim

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

1313 NubladoNublado QuenteQuente NormalNormal FalsoFalso SimSim

11 EnsolaradoEnsolarado QuenteQuente AltaAlta FalsoFalso NãoNão

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

Page 38: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo – Removendo Exemplo – Removendo TransaçõesTransações

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

33 NubladoNublado QuenteQuente AltaAlta FalsoFalso SimSim

44 ChuvosoChuvoso AmenaAmena AltaAlta FalsoFalso SimSim

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

11 EnsolaradoEnsolarado QuenteQuente AltaAlta FalsoFalso NãoNão

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

Page 39: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

O algoritmo IREPO algoritmo IREPprocedure IREP(Pos,Neg)begin

Ruleset = Øwhile Pos ≠ Ø do

split (Pos,Neg) into (GrowPos,GrowNeg)and (PrunePos,PruneNeg)

Rule := GrowRule(GrowPos,GrowNeg)Rule := PruneRule(Rule,PrunePos,PruneNeg)if the error rate of Rule on (PrunePos,PruneNeg)

exceeds 50% thenreturn Ruleset

elseadd Rule to Rulesetremove examples covered by Rule from

(Pos,Neg)endif

endwhilereturn Ruleset

end

Page 40: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Resultado PossívelResultado Possível

Ventoso = Falso and Umidade = Normal

Tempo = Nublado

Page 41: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Resultado PossívelResultado Possível

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

33 NubladoNublado QuenteQuente AltaAlta FalsoFalso SimSim

44 ChuvosoChuvoso AmenaAmena AltaAlta FalsoFalso SimSim

55 ChuvosoChuvoso FriaFria NormalNormal FalsoFalso SimSim

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

99 EnsolaradoEnsolarado FriaFria NormalNormal FalsoFalso SimSim

1010 ChuvosoChuvoso AmenaAmena NormalNormal FalsoFalso SimSim

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

1313 NubladoNublado QuenteQuente NormalNormal FalsoFalso SimSim

11 EnsolaradoEnsolarado QuenteQuente AltaAlta FalsoFalso NãoNão

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

Page 42: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Resultado PossívelResultado Possível

## TempoTempo TemperatTemperaturaura UmidadeUmidade VentosoVentoso JogaJoga

33 NubladoNublado QuenteQuente AltaAlta FalsoFalso SimSim

44 ChuvosoChuvoso AmenaAmena AltaAlta FalsoFalso SimSim

55 ChuvosoChuvoso FriaFria NormalNormal FalsoFalso SimSim

77 NubladoNublado FriaFria NormalNormal VerdadeirVerdadeiroo

SimSim

99 EnsolaradoEnsolarado FriaFria NormalNormal FalsoFalso SimSim

1010 ChuvosoChuvoso AmenaAmena NormalNormal FalsoFalso SimSim

1111 EnsolaradoEnsolarado AmenaAmena NormalNormal VerdadeirVerdadeiroo

SimSim

1212 NubladoNublado AmenaAmena AltaAlta VerdadeirVerdadeiroo

SimSim

1313 NubladoNublado QuenteQuente NormalNormal FalsoFalso SimSim

11 EnsolaradoEnsolarado QuenteQuente AltaAlta FalsoFalso NãoNão

22 EnsolaradoEnsolarado QuenteQuente AltaAlta VerdadeirVerdadeiroo

NãoNão

66 ChuvosoChuvoso FriaFria NormalNormal VerdadeirVerdadeiroo

NãoNão

88 EnsolaradoEnsolarado AmenaAmena AltaAlta FalsoFalso NãoNão

1414 ChuvosoChuvoso AmenaAmena AltaAlta VerdadeirVerdadeiroo

NãoNão

Verdade\Verdade\Class.Class. SimSim NãoNão

SimSim 77 22

NãoNão 00 55

Page 43: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Resultados obtidos pelo Resultados obtidos pelo IREPIREP

Apresentar os gráficos aquiApresentar os gráficos aqui

IREP: O(m log² m), m = Número de exemplos.

Page 44: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Problemas BProblemas Benchmarks enchmarks utilizados nos exemplosutilizados nos exemplos

Page 45: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Resultados obtidos pelo Resultados obtidos pelo IREPIREP

Ponto positivoPonto positivo

Mais rápido que C4.5Mais rápido que C4.5

Ponto negativoPonto negativo

Capacidade preditiva do IREP pior que Capacidade preditiva do IREP pior que

C4.5.C4.5.

Taxa wTaxa won-lost-tie: 11-23-3on-lost-tie: 11-23-3

Page 46: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Aprimoramentos ao IREPAprimoramentos ao IREP

Três modificaçesTrês modificaçes::

Métrica alternativa para fase de poda;Métrica alternativa para fase de poda;

Nova heurística para determinar quando Nova heurística para determinar quando

parar de adicionar regras ao conjunto;parar de adicionar regras ao conjunto;

Pós-poda para otimizar o conjunto de Pós-poda para otimizar o conjunto de

regras;regras;

Page 47: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Métrica de PodaMétrica de Poda

Um dos problemas de convergência do IREP Um dos problemas de convergência do IREP é sua métrica para determinar se as é sua métrica para determinar se as regras irão ser podadas. Exemplo:regras irão ser podadas. Exemplo:

1) P: 40001) P: 4000 N: 2000 N: 2000

Regra 1Regra 1 p: 2000 p: 2000 Regra 2 p:1000 Regra 2 p:1000 n:1000 n:1000 n:1 n:1

v = (p + (N – n)) / (P + N)v = (p + (N – n)) / (P + N) v=(2000 +(2000-1000))/(4000+2000)v=(2000 +(2000-1000))/(4000+2000) v=(1000+(2000-v=(1000+(2000-

1))/(4000+2000)1))/(4000+2000)v=0.5v=0.5 v=0.4999v=0.4999

Page 48: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Métrica de PodaMétrica de Poda

A métrica prioriza uma regra com A métrica prioriza uma regra com maior número de positivos porém com maior número de positivos porém com uma maior taxa de erro. Como uma maior taxa de erro. Como alternativa, foi proposta uma nova alternativa, foi proposta uma nova métrica:métrica: V=(p-n)/(p+n)V=(p-n)/(p+n)

Amostra 1:Amostra 1: Amostra 2:Amostra 2:

V=(2000-1000)/V=(2000-1000)/ V=(1000-1)/(1000+1)V=(1000-1)/(1000+1)

(2000+1000)=0.333(2000+1000)=0.333 V=0.99V=0.99

Page 49: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Condição de ParadaCondição de Parada

Dependendo dos dados, o IREP pára Dependendo dos dados, o IREP pára cedo demais.cedo demais.

Solução:Solução: Após uma regra ser adicionada, o tamanho Após uma regra ser adicionada, o tamanho

total do do conjuto é computado. total do do conjuto é computado. Caso o tamanho deste novo conjunto de Caso o tamanho deste novo conjunto de

regras seja maior regras seja maior d bits d bits do que a maior do que a maior regra obtida, ou quando não existem mais regra obtida, ou quando não existem mais casos positivos, o algoritmo pára de casos positivos, o algoritmo pára de adicionar regras.adicionar regras.

Page 50: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Condição de ParadaCondição de Parada

Fórmula para o cálculo de tamanho Fórmula para o cálculo de tamanho em bits de uma regraem bits de uma regra 0,5 ∙ (|k| + k log0,5 ∙ (|k| + k log22 n/k + (n-k)log n/k + (n-k)log22 1/(1- 1/(1-

k/n) )k/n) ) k: número de condições da regrak: número de condições da regra n: número de condições possíveisn: número de condições possíveis |k|: número de bits necessários para |k|: número de bits necessários para

representar o inteiro krepresentar o inteiro k

Page 51: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Exemplo - Condição de Exemplo - Condição de ParadaParada

Regra: Ventoso = Falso and Umidade = Normal

k = 2 n = 4 |k| = 2k = 2 n = 4 |k| = 2

0,5 ∙ (|k| + k log0,5 ∙ (|k| + k log22 n/k + (n-k)log n/k + (n-k)log22 1/(1-k/n) ) 1/(1-k/n) )

0,5 ∙ ( 2 + 2 log0,5 ∙ ( 2 + 2 log22 4/2 + (4-2)log 4/2 + (4-2)log22 1/(1-2/4) ) 1/(1-2/4) )

0,5 ∙ ( 2 + 2 log0,5 ∙ ( 2 + 2 log22 2 + 2log 2 + 2log22 2 ) 2 )

0,5 ∙ ( 2 + 2 + 2 ) = 0,5 ∙ 6 = 3 bits0,5 ∙ ( 2 + 2 + 2 ) = 0,5 ∙ 6 = 3 bits

Page 52: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

IREP *IREP *

IREP* é o IREP, adicionado da nova IREP* é o IREP, adicionado da nova condição de parada e nova métrica condição de parada e nova métrica de podade poda

28-8-1 em relação ao IREP28-8-1 em relação ao IREP 16-21-0 em relação ao C4.5rules16-21-0 em relação ao C4.5rules

Taxa de erro 1.06 (IREP 1.13)Taxa de erro 1.06 (IREP 1.13)

Page 53: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Otimização das RegrasOtimização das Regras

Pós poda das regras produzidas pelo Pós poda das regras produzidas pelo IREP*IREP* Regras otimizadas uma a umaRegras otimizadas uma a uma Para cada regra R, 2 alternativas são Para cada regra R, 2 alternativas são

construídasconstruídas RRii‘‘ – regra de substituição – regra de substituição

RRii‘‘‘‘ – regra de revisão – regra de revisão

Das três regras, é escolhida aquela com Das três regras, é escolhida aquela com menor tamanho em bits → Princípio de menor tamanho em bits → Princípio de quanto mais simples melhorquanto mais simples melhor

Page 54: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

RIPPERRIPPER

1.1. IREP* é usado para obter um conjunto de IREP* é usado para obter um conjunto de regras;regras;

2.2. Regras são otimizadas Regras são otimizadas

3.3. IREP* é utilizado para acrescentar regras IREP* é utilizado para acrescentar regras para cobrir exemplos positivos restantes.para cobrir exemplos positivos restantes.

RRepeated epeated IIncremental ncremental PPruning to runing to PProduce roduce EError rror RReductioneduction

RIPPERk → Aplica os passos 2 e 3 k RIPPERk → Aplica os passos 2 e 3 k vezes.vezes.

Page 55: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Poder Preditivo do Poder Preditivo do RIPPERRIPPER

28-7-2 contra IREP*28-7-2 contra IREP*

Page 56: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Taxa de erroTaxa de erro

Page 57: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Eficiência do RIPPEREficiência do RIPPER

RIPPER2

RIPPER2

Page 58: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

Razões da Eficiência do Razões da Eficiência do RIPPERRIPPER

Um modelo inicial é criado com IREP* e Um modelo inicial é criado com IREP* e então simplificado iterativamenteentão simplificado iterativamente Eficiência na geração do modelo inicialEficiência na geração do modelo inicial Simplificação em tempo linearSimplificação em tempo linear

C4.5 tem uma simplificação com um C4.5 tem uma simplificação com um grande custo computacional para grandes grande custo computacional para grandes modelos inicias;modelos inicias;

RIPPER é muito mais eficiente em dados RIPPER é muito mais eficiente em dados ruidosos e com grande volumeruidosos e com grande volume

Page 59: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

ConclusãoConclusão

RIPPERk é mais eficiente e tem RIPPERk é mais eficiente e tem performance competitiva com C4.5 performance competitiva com C4.5 (melhor em alguns casos)(melhor em alguns casos)

Ótimo razão custo/benefício Ótimo razão custo/benefício

(tempo de execução/capacidade (tempo de execução/capacidade preditiva)preditiva)

Page 60: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

ReferênciasReferências

Fast Effective Rule InductionFast Effective Rule Induction

William W. Cohen [1995]William W. Cohen [1995] Incremental Reduced Error PruningIncremental Reduced Error Pruning

J. Fürnkranz & G. Widmer [1994]J. Fürnkranz & G. Widmer [1994] Efficient Pruning MethodsEfficient Pruning Methods

William W. Cohen [1993]William W. Cohen [1993]

Page 61: RIPPER Fast Effective Rule Induction William W. Cohen apresentação Felipe Hoppe Levin Guilherme Dal Bianco.

PERGUNTAS?PERGUNTAS?