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 supervisionado é fornecido ao algoritmo de aprendizado, ou indutor, um conjunto de exemplos de treinamento para os quais o rótulo da classe associada é conhecido. No aprendizado não-supervisionado, o indutor analisa os exemplos e tenta determinar se alguns deles podem ser agrupados, formando clusters ou agrupamentos.
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 Frio Quente normal Se t < 16,66 Se t > 33,34 Se  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 com Sol, 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,940 Entropia 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,768 Ganho (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,788 Ganho (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,906 Ganho (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 Escolha do Atributo com Maior Ganho Aparência ??? SIM Chuvoso Umidade NÃO Alta Encoberto Sol SIM Normal
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 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 É possível jogar tênis com Sol, frio, alta, forte. ????
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 Terminar a construção da árvore, do Nó que descende Chuvoso seguindo o algoritmo ID3 Monte a Regras de classificação da árvore a seguir:
Trem Custo das Viagens Gênero Carro Trem Barato Caro padrão Ônibus Feminino Masculino Transporte 0 1 Ônibus

Algoritmo_ID3_e_C.45_Gilcimar

  • 1.
    Algoritmo ID3 eC.45 no Processo de Mineração de Dados Gilcimar Hoehstein
  • 2.
    Data Mining DataMining  é 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.
  • 3.
    Descoberta de ConhecimentoO 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.
  • 4.
    Aprendizado de MáquinaUm 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.
  • 5.
    Processo Indutivo Ainduçã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.
  • 6.
    Inferência Indutiva Ainferê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.
  • 7.
    Hierarquia do AprendizadoIndutivo 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. No aprendizado não-supervisionado, o indutor analisa os exemplos e tenta determinar se alguns deles podem ser agrupados, formando clusters ou agrupamentos.
  • 8.
    Hierarquia do AprendizadoIndutivo Os Algoritmos ID3 e C.45 estão na categoria de Algoritmos de Classificação
  • 9.
    Classificação  Analisa umconjunto 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.
  • 10.
    Classificação e RegressãoA 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 .
  • 11.
    Outros algoritmos deClassificação e Regressão J48; Adtree; UserClassifier; PredictionNode; Splitter; ClassifierTree; M5Prime.
  • 12.
    Árvore de DecisãoUma á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.
  • 13.
    Árvore de DecisãoA á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.
  • 14.
    Atributo, valor doatributo 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.
  • 15.
    Exemplo Atributo: {Consumomensal} Valor do atributo: {7 KW/h, 20 KW/h, 60 KW/h } Classe: {Gasta Pouco, Gasta Médio, Gasta Muito}
  • 16.
    Regras if-then Aárvore de decisão é semelhantes as regras if-then. If (consumo mensal > 50 KW/h) then Gasta Muito
  • 17.
    Exemplo – árvorede 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” )
  • 18.
    Vantagem das árvoresde 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.
  • 19.
    Vantagem das árvoresde 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.
  • 20.
    O algoritmo ID3Foi 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.
  • 21.
  • 22.
    Desvantagem do ID3A 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.
  • 23.
    Desvantagem do ID3O algoritmo ID3 não apresenta nenhum método de pós poda, o que poderia amenizar a busca em árvores mais complexas.
  • 24.
    Transformando valores contínuosde 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
  • 25.
    Transformação de atributoscontínuos em discretos De zero a 16,66 graus = frio De 16,67 a 33,33 = normal De 33,34 a 50 = quente Temperatura Frio Quente normal Se t < 16,66 Se t > 33,34 Se 16,67 < t < 33,34
  • 26.
    O algoritmo ID3O 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.
  • 27.
    Dois Tipos deentropia 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
  • 28.
    Exemplo Prático Precisasaber se é possível jogar tênis com Sol, frio, alta, forte. ????
  • 29.
    Entropia dos dadosda 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
  • 30.
    O conjunto dedados é 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
  • 31.
    Ganho de informaçãoO 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,940 Entropia de Aparência(S) = 0,663 Ganho(S, Aparencia) = 0,940 – 0,663 = 0,278
  • 32.
    Já foi calculadoo Ganho do atributo aparência, agora é preciso calcular dos outros atributos (temperatura, umidade e vento)
  • 33.
    Ganho de informaçãodo Atributo Temperatura Entropia de Temperatura =(4/14)*entropia de quente) + (6/14* entropia de agradável) + (4/14) * entropia de frio) = 0,768 Ganho (S, Temperatura) = 0,940 – 0,768 = 0,172
  • 34.
    Ganho de informaçãodo Atributo Umidade Entropia de Umidade =(7/14)*entropia de normal) + (7/14* alta) = 0,788 Ganho (S, Umidade) = 0,940 – 0,788 = 0,152
  • 35.
    Ganho de informaçãodo Atributo Vento Entropia de Vento =(6/14)*entropia de forte) + (8/14* entropia de fraco)= 0,906 Ganho (S1, Temperatura) = 0,940 – 0,906 = 0,035
  • 36.
    Escolha do atributocom maior Ganho de informação para ser o nó raiz Encoberto Aparência Sol ??? SIM Chuvoso ???
  • 37.
    Selecionando apenas aslinhas 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
  • 38.
    Escolha do melhoratributo Ganho (S2, temperatura) = 0,371 Ganho (S2, umidade) = 0,971 Ganho (S2, vento) = 0,020 Maior (ganhos(s2)) = 0,971
  • 39.
    Escolha do atributocom maior Ganho de informação para ser o nó filho de Sol Escolha do Atributo com Maior Ganho Aparência ??? SIM Chuvoso Umidade NÃO Alta Encoberto Sol SIM Normal
  • 40.
    Calculando nó quedescende 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.
  • 41.
    Calculo da Entropiados 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
  • 42.
    Entropia dos atributosem relação ao atributo-classe Temperatura com Jogo
  • 43.
    Entropia dos atributosem relação ao atributo-classe Umidade com Jogo
  • 44.
    Entropia dos atributosem relação ao atributo-classe Vento com Jogo
  • 45.
    Selecione o atributocom 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.
  • 46.
    Árvore de Decisãofinal 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 É possível jogar tênis com Sol, frio, alta, forte. ????
  • 47.
    Conclusão do id3A 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.
  • 48.
    Algoritmo C.45 Lidatanto 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.
  • 49.
    Vantagem do C.45Apresenta 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.
  • 50.
    Razão de Ganhodo 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.
  • 51.
    Razão de ganhoQuinlan mostrou que a razão de ganho supera o ganho da informação em termos de precisão de complexidade da árvore gerada.
  • 52.
    Métodos de PodaExistem 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.
  • 53.
    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.
  • 54.
    Poda baseada emErro (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.
  • 55.
    Exemplo – Podabaseada em Erro
  • 56.
    Métodos de PodaExistem 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
  • 57.
    O Weka OWeka é 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.
  • 58.
  • 59.
    Demonstração no WekaNa 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
  • 60.
  • 61.
    Tela de resultadosPode-ser observar a construção da árvore de decisão destacado em vermelho
  • 62.
    Escolhendo j48 Permitemodo gráfico da árvore de decisão.Junto com a visualização da quantidade de amostras em cada classe.
  • 63.
    Exercício Terminar aconstrução da árvore, do Nó que descende Chuvoso seguindo o algoritmo ID3 Monte a Regras de classificação da árvore a seguir:
  • 64.
    Trem Custo dasViagens Gênero Carro Trem Barato Caro padrão Ônibus Feminino Masculino Transporte 0 1 Ônibus