One of the biggest dilemmas faced by decision-making systems is to determine an efficient means to produce classifiers from data base regarding the processing time and the form of simple symbolic representation understandable that facilitates the analysis of the problem in question. In this brief report we will discuss a very popular tool in knowledge discovery in databases process and thus aid in making decisions: the Decision Trees.
1. ID3 - Método de Classificação Baseado em Árvore de
Decisão
Michel Alves dos Santos ∗
Dezembro de 2011
Resumo
Um dos maiores dilemas enfrentados pelos sis-
temas de tomada de decisão é determinar um
meio eficiente para produzir classificadores a
partir de base de dados em relação ao tempo
de processamento e à forma de representação
simbólica simples e compreensível que facilite a
análise do problema em questão. Neste sucinto
artigo iremos debater sobre uma ferramenta bas-
tante popular no processo de descoberta de co-
nhecimento em bases de dados e consequente-
mente no auxílio da tomada de decisões: as Ár-
vores de Decisão.
1 Introdução
Classificadores baseados em árvores de deci-
são, redes neurais, redes bayesianas, são caracte-
rizados pelo fato de utilizarem os dados de trei-
namento para construírem um modelo de clas-
sificação, que uma vez encontrado e testado, es-
tará pronto para ser utilizado na categorização
de qualquer novo objeto. O processo de encon-
trar o modelo é lento, mas uma vez encontrado,
o ato de classificar um novo objeto é realizado
de forma rápida. Tais classificadores são chama-
dos de Classificadores Apressados (Eager Clas-
sifiers).
Existem diversos métodos de classificação,
amplamente utilizados na prática, que diferem
dos métodos anteriormente citados pelo fato de
não utilizarem os dados de treinamento para
produzirem um modelo de classificação.
O processo de classificação utilizado por estes
classificadores, ditos preguiçosos (Lazy Classi-
fiers) , pode ser descrito suscintamente da se-
guinte forma: a cada novo objeto que se quer
∗Bacharelando em Ciência da Computação, Universi-
dade Federal do Estado de Alagoas (UFAL). E-mail: mi-
chel.mas@gmail.com. Disciplina: Inteligência Artificial
II. Docente Responsável: Aydano Pamponet Machado.
classificar, utiliza-se os dados de treinamento
para verificar quais são os objetos nesta base de
dados que mais se assemelham ao novo objeto
que se quer classificar. O objeto será classifi-
cado dentro da classe mais comum a que per-
tencem os objetos mais similares a ele. Assim, a
classificação é feita por analogia. Nenhum mo-
delo de classificação é criado. Ao invés disto, a
cada novo objeto a ser classificado, os dados de
treinamento são escaneados.
Obviamente, classificadores preguiçosos são
computacionalmente dispendiosos. Eles reque-
rem técnicas eficientes de armazenamento e são
adequados para implementação em ambientes
de computação paralela. Uma qualidade de tais
classificadores é que suportam aprendizado in-
cremental. Dois exemplos de classificadores pre-
guiçosos são o k-Nearest Neighbor (k vizinhos
mais próximos) e o Case-based Reasoning (raci-
ocínio baseado em casos).
Neste artigo iremos abordar os conceitos ini-
ciais sobre árvores de decisão e como elas podem
auxiliar no processo de tomada de decisões, além
disso usaremos uma das heurísticas mais conhe-
cidas durante o processo de aprendizagem para
construção de árvores de decisão mais eficientes:
a entropia.
2 Árvores de Decisão
Classificadores baseados em árvore de decisão
são um dos ramos da área de inteligência arti-
ficial, mais especificamente, eles pertencem ao
sub-campo de aprendizagem de máquina. Isto
se deve à sua habilidade de aprender através de
exemplos com o objetivo de classificar registros
em uma base de dados.
2.1 Utilização
Amplamente utilizadas em algoritmos de clas-
sificação, as árvores de decisão são representa-
1
2. ções simples do conhecimento, e um meio efi-
ciente de construir classificadores que predizem
ou revelam classes ou informações úteis basea-
das nos valores de atributos de um conjunto de
dados. Eles são muito úteis em atividades de
mineração de dados, isto é, o processo de extra-
ção de informações previamente desconhecida,
a partir de grandes bases de dados. Aplicações
desta técnica podem ser vista em diversas áreas,
desde cenários de negócios até sistemas de piloto
automático de aeronaves e diagnósticos médicos.
2.2 Descrição
Uma árvore de decisão é essencialmente uma
série de declarações if-elses, que quando aplica-
dos a um registro de uma base de dados , re-
sultam na classificação daquele registro. O mais
interessante sobre o programa de árvores de de-
cisão não é a sua construção a partir de classi-
ficação de um conjunto de treinamento, e sim a
sua habilidade de aprendizado. Quando o trei-
namento é finalizado, é possível alimentar sua
árvore de decisão construída a partir de exem-
plos com novos casos a fim de classífica-los.
Figura 1: Exemplo de árvore de decisão. Observe
que a estrutura realmente é na forma de árvore.
Dessa maneira, é possível utilizar técnicas recursivas
para criar e percorrer essa estrutura.
A árvore de decisão apresentada acima é uma
de várias árvores que poderiam ser construídas
para solucionar o problema. A tarefa de achar
a melhor árvore de decisão é um problema NP-
completo, isto é, que o tempo de processamento
necessário para achar a ‘melhor’ árvore de deci-
são pode ser exponencial a medida que o número
de de dados usados no treinamento da rede. Em-
bora, pareça ser impossível encontrar a menor
árvore de decisão em um tempo considerável, é
possível encontrar uma que seja ‘pequena sufici-
ente’, satisfatória a partir do uso de heurísticas
especiais. A tarefa da heurística é realizar esta
tarefa escolhendo o ‘melhor próximo’ atributo
que divida o conjunto de dados baseado em um
critério pré-definido.
2.3 Algoritmos
Há vários algoritmos de construção de árvore
de decisão (C4.5,CART,CHAID, entre outros).
Entretanto, para este artigo escolhemos o mais
popular deles: a heurística ID3, para a escolha
dos "melhores próximos"atributos baseados em
conceitos encontrados em teoria da informação.
3 O Algoritmo ID3
O algoritmo ID3, Iterative Dichotomizer 3,
foi desenvolvido por Ross Quinlan (QUILAN,
1986). Esse algoritmo consiste em um processo
de indução de árvores de decisão e tem como
finalidade avaliar a informação contida nos atri-
butos segundo a sua entropia, que mede quanto
esse espaço é homogêneo, ou por outro lado,
quanto maior for a entropia maior será a desor-
dem. O atributo mais importante é colocado na
raiz e, de forma top-down, a árvore é construída
recursivamente, com o objetivo de sempre esco-
lher o melhor atributo para determinado nó.
Uma das grandes vantagens do ID3 é a sua
simplicidade, o seu processo de construção torna
relativamente simples a compreensão do seu fun-
cionamento. A maior desvantagem desse algo-
ritmo é que a árvore de decisão produzida por
ele é praticamente imutável, o que implica que
não se pode eficientemente reutilizar a árvore
sem reconstruí-la.
O algoritmo ID3 usa o conceito de entropia
para calcular qual o melhor atributo será utili-
zado para dividir os dados em sub-grupos. Após
a construção de uma árvore de decisão é impor-
tante avaliá-la. Esta avaliação é realizada atra-
vés da utilização de dados que não tenham sido
usados no treinamento. Esta estratégia permite
estimar como a árvore generaliza os dados e se
adapta a novas situações, podendo, também, se
estimar a proporção de erros e acertos ocorridos
na construção da árvore .
3.1 A Heurística ID3
A física usa o termo entropia para descrever
a quantidade de desordem associada a um sis-
2
3. tema. Na teoria da informação, este termo tem
uma significado semelhante, ele mede o grau de
desordem de um conjunto de dados. A heu-
rística ID3 usa este conceito para encontrar o
próximo melhor atributo de um dado para ser
utilizado como nó de uma árvore de decisão.
Logo , a idéia por trás do algoritmo ID3 é achar
um atributo que reduza em maior valor a entro-
pia de um conjunto de dados, assim reduzindo
a aleatoriedade - dificuldade de previsão - da
variável que define classes. Seguindo esta heu-
rística, você estará essencialmente encontrando
o melhor atributo para classificar os registros
(de acordo com a redução da quantia de infor-
mação necessária para descrever a partição dos
dados que foram divididos ) a fim de que os mes-
mos tenham utilidade máxima (exemplos são da
mesma classe). O algoritmo ID3 segue os se-
guintes passos:
1. Começar com todos os exemplos do treina-
mento;
2. Escolher o atributo que melhor divide os
exemplos, ou seja agrupar os exemplos da
mesma classe ou exemplos semelhantes;
3. Para o atributo escolhido, criar um nó filho
para cada valor possível do atributo ;
4. Transportar os exemplos para cada filho
tendo em conta o valor do filho;
5. Repetir o procedimento para cada filho não
"puro". Um filho é puro quando cada atri-
buto X tem o mesmo valor para todos os
exemplos.
3.2 Entropia
A Entropia é a medida da impureza do con-
junto de treino. Assumindo o valor máximo (1)
quando existem tantos elementos positivos como
negativos, e o valor mínimo (0) quando todos os
elementos são da mesma classe.
Na etapa 2 do algoritmo, para achar o me-
lhor atributo é necessário encontrar a entropia
para cada atributo possível naquele nó. Para
isto usamos a fórmula da entropia. Dado um
conjunto de entrada S que pode ter C classes
distintas, a entropia de S será dada por:
Entropy(S) = −
C
i=1
pi · log2(pi) (1)
Figura 2: Gráfico que exibe o comportamento da
função de entropia. Função entropia relativa a uma
classificação booleana, como a proporção, p+ de
exemplos positivos variando entre 0 e 1.
onde pi é a proporção de dados em S que perten-
cem à classe i. Onde calculamos a proporção do
número de exemplos positivos e o mesmo para
o número de exemplos negativos para aquele
atributo em questão multiplicado pelo logaritmo
destas proporções.
3.3 Ganho de Informação
O ganho de informação é a redução esperada
no valor da Entropia, devido à ordenação do
conjunto de treino segundo os valores do atri-
buto A (ver equação 2).
O próximo passo na heurística ID3 é calcular
o ganho de informação para cada atributo que
pode ser selecionado como nó na árvore. Essen-
cialmente é apenas calcular a entropia de todo
o conjunto de dados e diminuir este da entropia
do sub-conjunto particionado para tal atributo.
Este processo é feito para cada atributo do con-
junto de dados, e o atributo com o maior ganho
de informação será o selecionado para o próximo
nó da árvore.
Gain(S, A) = Ent(S) −
v∈A
|Sv|
|S|
· Ent(Sv) (2)
Onde a função Ent(S) significa a entropia de S
e Ent(Sv) a entropia de Sv. O raciocínio por
trás do ganho de informação é semelhante ao
cálculo de entropia demonstrado acima, porém
agora considerando os sub-conjuntos particiona-
dos de acordo com o valor do atributo em ques-
tão.
3
4. 3.4 Mineração de Dados
Além de classificação de dados, árvores de de-
cisão são úteis para inferir padrões a partir dos
dados, também referenciado como mineração de
dados. Observando sucintamente a árvore exi-
bida na figura [1] podemos inferir algumas ten-
dências a partir do conjunto de dados. A mais
óbvia tendência nos dados é que jovens (idades
entre 18 e 35) e idosos (> 55) não compram seus
produtos.
4 Conclusão
O ponto mais importante verificado é que
uma inspeção superficial do conjunto de dados,
mesmo com poucos registros, não nos fornece,
facilmente, tendências ou padrões. Quando esse
número aumenta para centenas, milhares ou
até milhões de registros, achar essas tendências
pode ser impossível. Usando árvores de deci-
são, podemos, não apenas prever padrões, como
também podemos apontar tendências importan-
tes no conjunto de dados de teste a fim de auxi-
liar na melhora de práticas (de marketing, por
exemplo), e consequentemente atingir novas me-
tas.
Referências
BATISTA, G. E. A. P. A. (2003), Pré-
Processamento de Dados em Aprendizado de
Máquina Supervisionado., PhD thesis, Insti-
tuto de Ciências Matemáticas e de Computa-
ção, Universidade de São Paulo, São Carlos.
BERRY, M. J. A. & LINOFF, G. (1997), Data
Mining Tehniques – for marketing, sales, and
customer support, United States: Wiley Com-
puter Publishing.
Colin, A. (1996), ‘Building decision trees with
the id3 algorithm’, Dr. Dobbs Journal.
GOEBEL, M. & GRUENWALD, L. (1999), ‘A
survey of data mining and knowledge disco-
very software tools’, ACM SIGKDD 1, 20–33.
KOCK, N. F., MCQUEEN, R. J. & BAKER, M.
(1996), ‘Learning and process improvement in
knowledge organisations: A critical analysis
of four contemporary myths.’, The Learning
Organization p. 31–40.
Mitchell, T. (1997), Machine Learning,
McGraw-Hill.
Monson, L. (1997), ‘Algorithm alley column:
C4.5’, Dr. Dobbs Journal.
QUILAN, J. R. (1986), ‘Introduction of decision
trees’, Machine Learning 1, 81–106.
Quinlan, J. R. (1993), C4.5 Programs for Ma-
chine Learning, Morgan Kaufmann.
RUSSEL, S. J. & NORVIG, P. (1995), Artifi-
cial Intelligence: A Modern Approach., Upper
Saddle River, New Jersey: Prentice Hall,.
RUSSELL, S. J. & NORVIG, P. (2004), Inteli-
gência Artificial, 2 ed. Rio de Janeiro.
Utgoff, P. E. (1989), Incremental Induction of
Decision Trees, Kluwer Academic Publishers.
Conteúdo
1 Introdução 1
2 Árvores de Decisão 1
2.1 Utilização . . . . . . . . . . . . . . . 1
2.2 Descrição . . . . . . . . . . . . . . . 2
2.3 Algoritmos . . . . . . . . . . . . . . 2
3 O Algoritmo ID3 2
3.1 A Heurística ID3 . . . . . . . . . . . 2
3.2 Entropia . . . . . . . . . . . . . . . . 3
3.3 Ganho de Informação . . . . . . . . 3
3.4 Mineração de Dados . . . . . . . . . 4
4 Conclusão 4
Referências 4
Listagem de Figuras 4
Lista de Figuras
1 Exemplo de árvore de decisão. Ob-
serve que a estrutura realmente é na
forma de árvore. Dessa maneira, é
possível utilizar técnicas recursivas
para criar e percorrer essa estrutura. 2
2 Gráfico que exibe o comportamento
da função de entropia. Função en-
tropia relativa a uma classificação
booleana, como a proporção, p+ de
exemplos positivos variando entre 0
e 1. . . . . . . . . . . . . . . . . . 3
4