1. Algoritmo ID3 e C.45 no Processo de
Mineração de Dados
Gilcimar Hoehstein
2. 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.
3. 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.
4. 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.
5. 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.
6. 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.
7. 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.
8. Hierarquia do Aprendizado Indutivo
• Os Algoritmos ID3 e C.45 estão na categoria
de Algoritmos de Classificação
9. 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.
10. 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.
11. Outros algoritmos de Classificação e
Regressão
• J48;
• Adtree;
• UserClassifier;
• PredictionNode;
• Splitter;
• ClassifierTree;
• M5Prime.
12. Á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.
13. Á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.
14. 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.
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 – á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”)
18. 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.
19. 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.
20. 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.
22. 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.
23. 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.
24. 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
25. 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
Se t < 16,66
Se 16,67 < tSe t > 33,34
< 33,34
Frio
normal Quente
26. 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.
27. 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
29. 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
30. 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
31. 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
32. • Já foi calculado o Ganho do atributo
aparência, agora é preciso calcular dos outros
atributos (temperatura, umidade e vento)
33. 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
34. 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
35. 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
36. Escolha do atributo com maior Ganho
de informação para ser o nó raiz
Aparência
Sol Chuvoso
Encoberto
??? SIM ???
37. 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
38. Escolha do melhor atributo
• Ganho (S2, temperatura) = 0,371
• Ganho (S2, umidade) = 0,971
• Ganho (S2, vento) = 0,020
• Maior (ganhos(s2)) = 0,971
39. Escolha do Atributo com Maior Ganho
Escolha do atributo com maior Ganho de informação
para ser o nó filho de Sol
Aparência
Sol Chuvoso
Encoberto
Umidade SIM ???
Alta
Normal
SIM
NÃO
40. 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.
45. 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.
46. Á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
47. 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.
48. 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.
49. 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.
50. 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.
51. 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.
52. 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.
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 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.
56. 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
57. 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.
59. 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
61. Tela de resultados
• Pode-ser observar a construção da árvore de
decisão destacado em vermelho
62. Escolhendo j48
• Permite modo gráfico da árvore de
decisão.Junto com a visualização da
quantidade de amostras em cada classe.
63. 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:
64. Custo das
Viagens
Barato Caro
padrão
Gênero
Trem Carro
Masculino Feminino
Transporte
Ônibus 0 1
Ônibus Trem