Gilcimar apresentação

Post on 09-Jun-2015

517 views 0 download

description

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

Transcript of Gilcimar apresentação

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

Gilcimar Hoehstein

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.

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.

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.

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.

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.

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.

Hierarquia do Aprendizado Indutivo

• Os Algoritmos ID3 e C.45 estão na categoria de Algoritmos de Classificaçã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.

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.

Outros algoritmos de Classificação e Regressão

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

Á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.

Á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.

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.

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

Regras if-then

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

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

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”)

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.

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.

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.

Portugol do ID3

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.

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.

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

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

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.

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

Exemplo Prático

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

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

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

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

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

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

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

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

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

Encoberto

Aparência

Sol

???SIM

Chuvoso

???

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

Escolha do melhor atributo

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

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

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.

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

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

• Temperatura com Jogo

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

• Umidade com Jogo

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

• Vento com Jogo

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.

Á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

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.

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.

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.

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.

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.

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.

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.

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.

Exemplo – Poda baseada em Erro

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

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.

Arquivo arff

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

Resultado

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

decisão destacado em vermelho

Escolhendo j48

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

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:

Trem

Custo das Viagens

GêneroCarroTrem

Barato Caropadrão

Ônibus

FemininoMasculino

Transporte

0 1

Ônibus