• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Algoritmo_ID3_e_C.45_Gilcimar
 

Algoritmo_ID3_e_C.45_Gilcimar

on

  • 4,300 views

 

Statistics

Views

Total Views
4,300
Views on SlideShare
4,300
Embed Views
0

Actions

Likes
0
Downloads
125
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Algoritmo_ID3_e_C.45_Gilcimar Algoritmo_ID3_e_C.45_Gilcimar Presentation Transcript

    • 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