gilcimar apresentação

64
Algoritmo ID3 e C.45 no Processo de Mineração de Dados Gilcimar Hoehstein

Upload: fazel-mobini-kesheh

Post on 09-Jun-2015

517 views

Category:

Education


0 download

DESCRIPTION

Apresentação sobre os algoritmos ID3 e C.45. Classificação de Dados em Data Mining

TRANSCRIPT

Page 1: Gilcimar apresentação

Algoritmo ID3 e C.45 no Processo de Mineração de Dados

Gilcimar Hoehstein

Page 2: Gilcimar apresentação

Data Mining

• Data Mining é o processo de extrair informações desejadas em uma base de dados, que em primeiro momento são desconhecidas.

• Data Mining permite explorar ou adicionar informações a partir dos dados, descobrindo relacionamentos ocultos no banco de dados.

Page 3: Gilcimar apresentação

Descoberta de Conhecimento

• O problema é que estes registros da base dados, muitas vezes, representam apenas dados e não conhecimento. Visando transformar estes dados em conhecimento, surge o processo chamado de Descoberta de Conhecimento em Bancos de Dados, conhecido com KDD (Knowledge Discovery in Databases)

• A KDD é uma área de grande pesquisa na Inteligência Artificial.

Page 4: Gilcimar apresentação

Aprendizado de Máquina

• Um sistema de Aprendizado de Máquina (AM) é um programa de computador que toma decisões baseado em experiências acumuladas por meio de soluções bem-sucedidas de problemas anteriores.

• O AM é uma poderosa ferramenta para aquisição automática de conhecimento.

Page 5: Gilcimar apresentação

Processo Indutivo

• A indução é a forma de inferência lógica que permite obter conclusões genéricas sobre um conjunto particular de exemplos.

• Na indução, um conceito é aprendido efetuando inferência indutiva sobre os exemplos apresentados. Portanto, as hipóteses geradas através da inferência indutiva podem ou não, dizer a verdade.

Page 6: Gilcimar apresentação

Inferência Indutiva

• A inferência indutiva é um dos principais métodos utilizados para derivar conhecimento novo e predizer eventos futuros.

• O aprendizado indutivo pode ser dividido em supervisionado e não-supervisionado.

Page 7: Gilcimar apresentação

Hierarquia do Aprendizado Indutivo

• No aprendizado não-supervisionado, o indutor analisa os exemplos e tenta determinar se alguns deles podem ser agrupados, formando clusters ou agrupamentos.

• No aprendizado supervisionado é fornecido ao algoritmo de aprendizado, ou indutor, um conjunto de exemplos de treinamento para os quais o rótulo da classe associada é conhecido.

Page 8: Gilcimar apresentação

Hierarquia do Aprendizado Indutivo

• Os Algoritmos ID3 e C.45 estão na categoria de Algoritmos de Classificação

Page 9: Gilcimar apresentação

Classificação

• Analisa um conjunto de dados de treinamento (um conjunto de objetos cuja classificação já é conhecida) e constrói um modelo para cada classe baseado nas características dos dados. Uma árvore de decisão ou um conjunto de regras de classificação é gerado por tal processo de classificação, que pode ser usado para entender melhor cada classe ou classificar futuros dados. Na classificação o atributo a ser predito é discreto, por exemplo, se o cliente é bom ou mau pagador.

Page 10: Gilcimar apresentação

Classificação e Regressão

• A regressão é conceitualmente similar à classificação. A principal diferença é que o atributo a ser predito é contínuo em vez de discreto, por exemplo, predizer o lucro ou o prejuízo em um empréstimo.

• Classificação e regressão utilizam algoritmos de Indução de Regras e algoritmos que geram Árvores de Decisão.

Page 11: Gilcimar apresentação

Outros algoritmos de Classificação e Regressão

• J48;• Adtree; • UserClassifier;• PredictionNode;• Splitter;• ClassifierTree;• M5Prime.

Page 12: Gilcimar apresentação

Árvore de Decisão

• Uma árvore de decisão é uma representação de uma tabela de decisão sob a forma de uma árvore.

• Tem a mesma utilidade da tabela de decisão.• Trata-se de uma maneira alternativa de

expressar as mesmas regras que são obtidas quando se constrói a tabela.

Page 13: Gilcimar apresentação

Árvore de Decisão

• A árvore de decisão chega a sua decisão pela execução de uma seqüência de testes. Cada nó interno da arvore corresponde a um teste do valor de uma das propriedades, e os ramos deste nó são identificados com os possíveis valores de teste. Cada nó folha da árvore especifica o valor de retorno se a folha for atingida.

Page 14: Gilcimar apresentação

Atributo, valor do atributo e classes

• Uma árvore de decisão consiste em nós que representam os nomes do atributos, os arcos representam os valores dos atributos e as folhas, que correspondem as diferentes classes a que pertencem as entidades.

Page 15: Gilcimar apresentação

Exemplo• Atributo: {Consumo mensal}• Valor do atributo: {7 KW/h, 20 KW/h, 60 KW/h }• Classe: {Gasta Pouco, Gasta Médio, Gasta Muito}

Page 16: Gilcimar apresentação

Regras if-then

• A árvore de decisão é semelhantes as regras if-then.

• If (consumo mensal > 50 KW/h) then Gasta Muito

Page 17: Gilcimar apresentação

Exemplo – árvore de decisão para regras de classificação

1.     Se    (Escolaridade = “Graduação”) - Rico = “Não”2.     Se    (Escolaridade = “Doutorado”) -

Rico = “Sim”3.     Se    (Escolaridade = “Mestrado”) &  (Idade = “>30”)  - Rico = “Sim”)4.     Se    (Escolaridade = “Mestrado”) &  (Idade = “<=30”) - Rico = “Não”)

Page 18: Gilcimar apresentação

Vantagem das árvores de decisão

• Uma grande vantagem das árvores de decisão é que elas podem ser aplicadas a grandes conjuntos de dados e possibilitam uma visão real da natureza do processo de decisão, desta forma, o resultado do algoritmo pode ser facilmente interpretado pelo usuário.

Page 19: Gilcimar apresentação

Vantagem das árvores de decisão

• As árvores de decisão também permitem derivar regras, regras de produção, decisão ou classificação, as quais são gerada percorrendo o trajeto do nó raiz até uma folha da árvore. Como as regras são equivalentes a árvore, a derivação de regras é interessante quando a árvore cresce muito.

Page 20: Gilcimar apresentação

O algoritmo ID3

• Foi inventando Ross Quinlan, na Universidade de Sydnei, Austrália em 1979.

• O ID3 usa entropia e ganho de informação para construir a árvore de decisão.

• É o algoritmo pioneiro em indução de árvore de decisão. É um algoritmo recursivo, baseado em busca gulosa, onde procura um conjunto de atributos que melhor dividem os exemplos(amostras), gerando sub-árvores.

Page 21: Gilcimar apresentação

Portugol do ID3

Page 22: Gilcimar apresentação

Desvantagem do ID3

• A Principal limitação do ID3 é que ele só lida com atributos discretos, não sendo possível apresentar a ele um conjuntos de dados com atributos contínuos. Neste caso os atributos contínuos devem ser “discretizados”.

• O ID3 também não apresenta nenhuma forma de tratar valores desconhecidos, ou seja, todos os exemplos do conjunto de treinamento devem ter valores conhecidos para todos os seus atributos.

Page 23: Gilcimar apresentação

Desvantagem do ID3

• O algoritmo ID3 não apresenta nenhum método de pós poda, o que poderia amenizar a busca em árvores mais complexas.

Page 24: Gilcimar apresentação

Transformando valores contínuos de atributos em valores discretos

• temperatura = [6 25 30 50 0 32 3 10 5 32]

• Definir o valor maximo e minimo da amostra

• Dividir a soma do valor Max e Min pelo quantidade de classes. Ex: Quente, normal e frio ou seja, (0 + 50) / 3 = 16,66

Page 25: Gilcimar apresentação

Transformação de atributos contínuos em discretos

• De zero a 16,66 graus = frio• De 16,67 a 33,33 = normal• De 33,34 a 50 = quente Temperatura

FrioQuentenormal

Se t < 16,66Se t > 33,34Se 16,67 < t

< 33,34

Page 26: Gilcimar apresentação

O algoritmo ID3• O ID3 usa entropia para calcular a

homogeneidade de uma amostra. Se a amostra é completamente homogênea a entropia é zero e se a amostra é dividido igualmente tem a entropia é um.

Page 27: Gilcimar apresentação

Dois Tipos de entropia

• Para construir uma árvore de decisão, precisamos calcular dois tipos de entropia através de tabelas de frequência da seguinte forma:

Jogo

Sim Não

9 5

Prob = 9/14 5/14

- (9/14)*log(9/14;2) + - (5/14)*log(5/14;2)

Entropia dos dados (S1) = 0,0940

Page 28: Gilcimar apresentação

Exemplo Prático

Precisa saber se é possível jogar tênis comSol, frio, alta, forte. ????

Page 29: Gilcimar apresentação

Entropia dos dados da amostra

Entropia dos Dados (S1) =-0,64* LOG(0,64;2)- 0,36*LOG(0,36;2) = 0,940

Obs: se a entropia estiver fora do intervalo [0,1], alguma coisa no calculo está errado

Page 30: Gilcimar apresentação

O conjunto de dados é dividido sobre os valores dos atributos

A entropia de cada valor é calculado. Então, ele é adicionado proporcionalmente, para obter a entropia total do atributo.=(5/14)*entropia do sol) + (4/14* entropia do encoberto) + (5/14) * entropia da chuva) = 0,663

Page 31: Gilcimar apresentação

Ganho de informação

• O Ganho da informação de um determinado atributo é calculado subtraindo a Entropia total, dos dados da entropia de cada atributo.

Entropia dos dados (S)= 0,940Entropia de Aparência(S) = 0,663

Ganho(S, Aparencia) = 0,940 – 0,663 = 0,278

Page 32: Gilcimar apresentação

• Já foi calculado o Ganho do atributo aparência, agora é preciso calcular dos outros atributos (temperatura, umidade e vento)

Page 33: Gilcimar apresentação

Ganho de informação do Atributo Temperatura

Entropia de Temperatura =(4/14)*entropia de quente) + (6/14* entropia de agradável) + (4/14) * entropia de frio) = 0,768Ganho (S, Temperatura) = 0,940 – 0,768 = 0,172

Page 34: Gilcimar apresentação

Ganho de informação do Atributo Umidade

Entropia de Umidade =(7/14)*entropia de normal) + (7/14* alta) = 0,788Ganho (S, Umidade) = 0,940 – 0,788 = 0,152

Page 35: Gilcimar apresentação

Ganho de informação do Atributo Vento

Entropia de Vento =(6/14)*entropia de forte) + (8/14* entropia de fraco)= 0,906Ganho (S1, Temperatura) = 0,940 – 0,906 = 0,035

Page 36: Gilcimar apresentação

Escolha do atributo com maior Ganho de informação para ser o nó raiz

Encoberto

Aparência

Sol

???SIM

Chuvoso

???

Page 37: Gilcimar apresentação

Selecionando apenas as linhas com o valor sol para aparência

• Repete a interação, porem agora com esta amostra menor

• Entropia(S2) = -(2/5)*log(2/5;2) – (3/5)*log(3/5;2) = 0,971

Page 38: Gilcimar apresentação

Escolha do melhor atributo

• Ganho (S2, temperatura) = 0,371• Ganho (S2, umidade) = 0,971• Ganho (S2, vento) = 0,020• Maior (ganhos(s2)) = 0,971

Page 39: Gilcimar apresentação

Escolha do atributo com maior Ganho de informação para ser o nó filho de Sol

Aparência

???SIM

Chuvoso

Umidade

NÃO

Alta

EncobertoSol

SIM

Normal

Escolha do Atributo com Maior Ganho

Page 40: Gilcimar apresentação

Calculando nó que descende chuvoso

• Agora temos que calcular o nó que descente chuvoso. Para isto, vamos pegar as linhas do banco de dados que a aparência apresenta chuvoso.

Page 41: Gilcimar apresentação

Calculo da Entropia dos Dados

• Probabilidade (S3) = • P(sim,3 /5) = 0,6 • P(não, 2/5) = 0,4

• Entropia(S3) = - 0,6 * log (0,6;2) – log (0,6;2) = 0,0971

Page 42: Gilcimar apresentação

Entropia dos atributos em relação ao atributo-classe

• Temperatura com Jogo

Page 43: Gilcimar apresentação

Entropia dos atributos em relação ao atributo-classe

• Umidade com Jogo

Page 44: Gilcimar apresentação

Entropia dos atributos em relação ao atributo-classe

• Vento com Jogo

Page 45: Gilcimar apresentação

Selecione o atributo com maior ganho de informação

• O vento é o atributo que maior contribui para a definição do nó. Então será o nó que descenderá chuvoso.

• Como Fraco leva somente a Sim, e Forte leva somente a Não, estes ramos serão nós folhas.

Page 46: Gilcimar apresentação

Árvore de Decisão finalÉ possível jogar tênis com Sol, frio, alta, forte. ????

• A verificação ocorre de cima para baixo (top-down), ele verifica primeiro o nó raiz, qual o valor do atributo aparência? Sol, agora ele verifica o nó umidade, qual o valor do atributo umidade? Alta. Respota. Não

Page 47: Gilcimar apresentação

Conclusão do id3

• A construção da árvore de decisão de id3, ele calcula o atributo que mais interfere na classificação do atributo. Por isto, no caso do exemplo do slide anterior, ele considera apenas os valores Sol e Alta, ou seja, valores dos atributos Aparência e Umidade. Assim, a classificação se torna muito mais rápida e menos complexa.

Page 48: Gilcimar apresentação

Algoritmo C.45

• Lida tanto com atributos discretos, como contínuos.

• O algoritmo C.45 ignora valores desconhecidos, ou seja, não utiliza a amostra para os cálculos e entropia e ganho.

• Utiliza a medida de razão de ganho para selecionar o melhor atributo que divide os exemplo. Medida superior ao ganho de informação do id3, gerando árvores menos complexas.

Page 49: Gilcimar apresentação

Vantagem do C.45

• Apresenta método de pós poda da árvore de decisão gerada, ou seja, realiza um busca de baixo para cima, e transforma em nós folhas aqueles nós que não representam nenhum ganho significativo.

Page 50: Gilcimar apresentação

Razão de Ganho do C.45

• Razão de ganho = ganho / entropia

• Desta forma, o algoritmo C.45 na primeira etapa calcula o ganho de informação para todos os atributos. Após isso, ele considera apenas os atributos que obtiveram o ganho de informação acima da média, e então escolhe o atributo com a melhor razão de ganho para ser a raiz da árvore.

Page 51: Gilcimar apresentação

Razão de ganho

• Quinlan mostrou que a razão de ganho supera o ganho da informação em termos de precisão de complexidade da árvore gerada.

Page 52: Gilcimar apresentação

Métodos de Poda

• Existem dois tipos de Podas em uma árvore de decisão. A Pré-poda e a Pós-Poda

• A pré-poda é realizada durante o processo da construção da árvore, em que o processo pode parar de dividir o conjunto de elementos e transformar o nó corrente em um nó folha da árvore.

Page 53: Gilcimar apresentação

Pós-Poda

• A Pós-poda é utilizada após a construção da árvore de decisão, removendo ramos completos, onde tudo que está abaixo de um nó interno é excluído e este nó é transformado em folha, representando a classe mais freqüente do ramo.

Page 54: Gilcimar apresentação

Poda baseada em Erro (Error based pruning)

• Utilizado pelo C.45• Pós-Poda• Utiliza média, desvio padrão, distribuição

binomial,nível de confiança, estimativa de erro.

Page 55: Gilcimar apresentação

Exemplo – Poda baseada em Erro

Page 56: Gilcimar apresentação

Métodos de Poda

• Existem muitos outros métodos de poda, cost complexity pruning, reduced error pruning, critical value pruning, pessimistic prunning, entre outros.

• Tratados de maneira separada no C.45

Page 57: Gilcimar apresentação

O Weka

• O Weka é uma ferramenta permite a importação de arquivos arff. Já disponibiliza o uso dos algoritmos id3 e C.45, porem, um similar, chamdo j48. Nestes arquivos já devem estar definidos o atributo-classe @relation jogo; Os atributos, @attribute Aparencia {Sol, Encoberto, Chuvoso} como por exemplo; e os dados da amostra, colocados depois da linha @data. Veja o próximo slide para ver um exemplo de um arquivo arff.

Page 58: Gilcimar apresentação

Arquivo arff

Page 59: Gilcimar apresentação

Demonstração no Weka• Na tela inicial escolha o modo Explorer.• Abra o arquivo jogo.arff no web. No botão open

file, na aba Preprocess.• Aplicando o algoritmo id3, na aba classify, no

botão choose.• Escolha a opção use test set para usar os dados

do arquivo para treinamento.• E clique em Start

Page 60: Gilcimar apresentação

Resultado

Page 61: Gilcimar apresentação

Tela de resultados• Pode-ser observar a construção da árvore de

decisão destacado em vermelho

Page 62: Gilcimar apresentação

Escolhendo j48

• Permite modo gráfico da árvore de decisão.Junto com a visualização da quantidade de amostras em cada classe.

Page 63: Gilcimar apresentação

Exercício

1) Terminar a construção da árvore, do Nó que descende Chuvoso seguindo o algoritmo ID3

2) Monte a Regras de classificação da árvore a seguir:

Page 64: Gilcimar apresentação

Trem

Custo das Viagens

GêneroCarroTrem

Barato Caropadrão

Ônibus

FemininoMasculino

Transporte

0 1

Ônibus