Vous êtes sur la page 1sur 152

Universidade Federal do ABC

Sistemas Inteligentes e
Minerao de Dados

Jos Artur Quilici-Gonzalez


Francisco de Assis Zampirolli

Universidade Federal do ABC

Sistemas Inteligentes e
Minerao de Dados

Jos Artur Quilici-Gonzalez


Francisco de Assis Zampirolli

Triunfal Grfica e Editora


Santo Andr SP
2014

Diagramao, Impresso e Acabamento:


Triunfal Grfica e Editora | Assis | SP
CAPA E PROJETO GRFICO:
Triunfal Grfica e Editora (Alcindo Donizeti Boffi)

CATALOGAO NA FONTE
SISTEMA DE BIBLIOTECAS DA UNIVERSIDADE FEDERAL DO ABC
Responsvel: Gesialdo Silva do Nascimento CRB: 7102

006.3
QUILpo

Sistemas inteligentes e minerao de dados / Jos Artur


Quilici-Gonzalez; Francisco de Assis Zampirolli
Santo Andr : Triunfal Grfica e Editora, 2014.
148 p. il.
ISBN: 978-85-61175-38-2
1. Minerao de dados 2. Sistemas inteligentes 3. Reconhe
cimento de padres I. QUILICI-GONZALEZ, Jose Artur.
II. ZAMPIROLLI, Francisco de Assis.

Para Vivian e Cristina,


com muito amor!

Agradecimentos
Os autores agradecem s interaes com os alunos do curso de
Especializao em Tecnologia e Sistemas de Informao, oferecido pela
UFABC atravs do programa federal Universidade Aberta do Brasil
UAB, entre 2010 e 2013, nas suas duas turmas.
Francisco de Assis Zampirolli agradece colaborao em pes
quisa com os alunos Fbio Luis de Melo Paulon, Henrique Hiroyuki Yano,
Leticia Alexandre Silva de Oliveira, Vinicius Cabral Pavia e Vinicius Aldeia
Zanquini.
No menos importante, os autores agradecem UFABC, UAB e
CAPES pelo fomento com as bolsas de Iniciao Cientifica, de Mestrado e
de Apoio Docente, sem as quais, seria difcil avanar nas pesquisas, e em
especial ao coordenador do curso, prof. Guiou Kobayashi, assim como
coordenadora da UAB da UFABC, profa. Lucia Franco, pelo incentivo
publicao deste livro.

Sumrio
Agradecimentos .....................................................................................

Lista de Figuras ......................................................................................

10

Lista de Tabelas ...................................................................................... 12


Prefcio ..................................................................................................

13

Captulo 1 - Sistemas Inteligentes ..............................................................

17

Introduo .............................................................................................

17

Dado, Informao, Conhecimento, Desempenho e Inteligncia ..........

19

Dado ..................................................................................................

19

Informao ........................................................................................

20

Conhecimento ...................................................................................

20

Desempenho .....................................................................................

21

Inteligncia ........................................................................................

21

Descoberta de Conhecimento em Bases de Dados, ou KDD ................

22

Minerao de Dados .............................................................................. 24


Minerao de Dados e suas Implicaes ticas....................................

26

Lista de Exerccios ..................................................................................

28

Referncia Bibliogrfica ......................................................................... 28


Captulo 2 - Minerao de Dados e Regras de Associao ........................

29

Introduo .............................................................................................

29

Minerao de Dados .............................................................................. 29


Regras de Associao ............................................................................. 32
Etapa 1: Gerao de Conjuntos Frequentes com Suporte SupMin.... 48
Etapa 2: Gerao de Regra de Associao a partir dos Conjuntos
Frequentes .............................................................................................

39

Como Gerar Regras de Associao Usando a Ferramenta Weka .......... 41

Consideraes Finais .............................................................................

50

Lista de Exerccios ..................................................................................

51

Referncia Bibliogrfica ......................................................................... 52


Captulo 3 - Classificao e rvores de Deciso.........................................

53

Introduo .............................................................................................

53

Classificao ........................................................................................... 53
rvores de Deciso ................................................................................

56

Induo de rvores de Deciso.............................................................

57

rvore de Deciso No Compacta........................................................

63

rvores de Deciso Usadas para Modelagem Descritiva .....................

66

Regras de Classificao a partir de uma rvore de Deciso .................

67

Treinamento, Aprendizado e Classificao ...........................................

68

Overfitting e Poda.................................................................................. 71
Matriz de Confuso e Avaliao dos Resultados ..................................

72

Como Gerar uma rvore de Deciso Usando o Weka ..........................

74

Consideraes Finais .............................................................................

82

Lista de Exerccios ..................................................................................

83

Referncia Bibliogrfica ......................................................................... 84


Captulo 4 - Classificao e Regras de Classificao ...................................

85

Introduo .............................................................................................

85

Classificao ........................................................................................... 86
Algoritmos de Aprendizado ................................................................... 87
Algoritmo oneR ou 1R (uma Regra)...................................................... 87
Avaliao dos Resultados ......................................................................

91

Avaliao de Desempenho do Classificador .........................................

93

Mtodo da Ressubstituio ou Use training set............................

94

Mtodo da Diviso da Amostra ou Holdout ou Percentage Split......

95

Mtodo da Validao Cruzada ou Cross-validation ........................... 96


Mtodo Deixe-Um-De-Fora ou Leave-One-Out ................................. 98
8

Consideraes Finais.............................................................................

99

Lista Exerccios .......................................................................................

99

Referncia Bibliogrfica ......................................................................... 100


Captulo 5 - Mquina de Vetores de Suporte ou Support Vector Machine. 101
Introduo ............................................................................................. 101
Representao dos Exemplos como Vetores ........................................ 102
Classificadores Lineares ......................................................................... 104
Conjunto Convexo .................................................................................. 107
Classificadores No Lineares ................................................................. 109
Margem Suave Mxima ......................................................................... 113
Ferramental Matemtico Bsico ........................................................... 114
Como Visualizar as Bordas Deciso de uma SVM Usando o Weka ...... 117
Consideraes Finais............................................................................. 125
Lista de Exerccios .................................................................................. 126
Referncia Bibliogrfica ......................................................................... 127
Captulo 6 - Aplicaes de SVM Usando Imagens ...................................... 129
Introduo ............................................................................................. 129
Introduo Classificao de Imagens Usando Weka e MATLAB........ 130
Classificao de Imagens Usando Histogramas.................................... 137
Classificao de Imagens Usando Atributos Topolgicos ..................... 143
Segmentao ..................................................................................... 143
Clculo dos Atributos ........................................................................ 144
Classificao ...................................................................................... 145
Consideraes Finais ............................................................................. 146
Lista de Exerccios .................................................................................. 146
Referncia Bibliogrfica ......................................................................... 147

Lista de Figuras
Figura 1.1 - Relao entre Dados, Informao e Conhecimento..............................................
Figura 1.2 - Processo de Descoberta de Conhecimento ou KDD ...............................................
Figura 1.3 - Classificao da Natureza das Tarefas da Minerao de Dados ...........................
Figura 2.1 - A Relao da Minerao de Dados com Algumas Disciplinas Correlatas............
Figura 2.2 - A Base de Dados Transacoes_1 na Forma (a) Planilha .xls e (b) .csv................
Figura 2.3 - Telas Iniciais do Weka (a) GUI Chooser e (b) Explorer..........................................
Figura 2.4 - Janela Open com a Opo File Format: em .csv.............................................
Figura 2.5 - Os Sete Atributos do Arquivo Transacoes_1 So Mostrados ...........................
Figura 2.6 - Arquivo ARFF (Transacoes_1.arff), com Itens Ausentes Representados por n
Figura 2.7 - Aba Preprocess + Open file... para Escolha do Arquivo ARFF...........................
Figura 2.8 - Seleo da Opo No class para Regras de Associao ......................................
Figura 2.9 - Ajuste dos Parmetros de Entrada do Algoritmo Apriori ...................................
Figura 2.10 - Ajuste dos Parmetros SupMine ConfMin ..........................................................
Figura 2.11 - Algumas Regras de Associao Geradas com o Arquivo Transacoes_1.arff ....
Figura 2.12 - Arquivo Transacoes_2.arff com Itens Ausentes Representados por ? .......
Figura 2.13 - As 30 Regras de Associao Geradas com o Arquivo Transacoes_2.arff ......
Figura 3.1 - Representao do Estudo da Flor ris com Dois Atributos...................................
Figura 3.2 - Modelos Equivalentes: (a) rvore de Deciso e (b) Regras de Classificao .......
Figura 3.3 - N Raiz para os Dados do Tempo.............................................................................
Figura 3.4 - O Atributo Umidade Combinado com Dia .........................................................
Figura 3.5 - rvore de Deciso para os Dados daTabela do Tempo..........................................
Figura 3.6 - rvore de Deciso com N Raiz Arbitrrio ............................................................
Figura 3.7 - Segunda Iterao da rvore de Deciso Alternativa............................................
Figura 3.9
3.8 - Atributo
rvore deDia
Deciso
Usado
semem
Otimizao
Duas Posies
.........................................................................
Diferentes..............................................
Figura3.10 - rvore de Deciso No-Compacta para a Tabela do Tempo..................................
Figura 3.11 - Treinamento, Aprendizado e Classificao em um Sistema Inteligente Simples....
Figura3.12 - rvore de Deciso No-Compacta (a) Antes e (b) Depois da Poda.........................
Figura 3.13 - Tabela do Tempo (a) Formato .xls e (b) Formato .csv.....................................
Figura 3.14 - Arquivo Tabela_do_Tempo (a) .csv com Palavras-Chave, e (b) Arquivo .arff ..
Figura 3.15 Arquivo Tabela_do_Tempo.arff Aberto no Weka...........................................
Figura3.16 - Aba Classify com a Opco (a) Choose para Escolher (b) o Menu de Algoritmos....
Figura 3.17 - A Escolha da Opo de Teste Use training set..................................................
Figura3.18 - Resultado do Processo de Treinamento e Induo da rvore de Deciso.........
Figura3.19 - Representao Grfica da rvore de Deciso ......................................................
Figura 3.20 - Interface Weka GUI Chooser.............................................................................
Figura 3.21 - Tabela do Tempo Ordenada pelos Valores de Umidade..................................
Figura 4.1 - Treinamento, Aprendizado e Classificao em um Sistema Inteligente Simples...

10

21
23
27
30
41
42
43
43
44
45
45
46
46
47
48
49
55
57
59
60
61
63
64
64
65
66
69
72
74
75
76
77
78
79
80
81
81
85

Figura 4.2 - Na Ressubistituio, o Conjunto de Treinamento tambm o Conjunto de Teste.


Figura 4.3 - No Holdout, os Exemplos de Treinamento so Divididos em Dois Subconjuntos..
Figura4.4 - Na Validao Cruzada, o Conjunto de Treinamento Dividido em k Parties ....
Figura 4.5 - No Leave-One-Out, o Conjunto de Treinamento Dividido em N Parties ......
Figura 5.1 - Representao de Exemplos de Treinamento no Plano Cartesiano...................
Figura 5.2 - Representao de Vetores de Treinamento no Plano Cartesiano......................
Figura 5.3 - Qual Classificador Escolher?..............................................................................
Figura 5.4 - Nas MVS, o Melhor Classificador Possui Margem Mxima ...............................
Figura 5.5 - Representao das Classes como Conjuntos Convexos ......................................
Figura5.6 - Funo Custo (a) Come (b) Sem Mnimo Local ....................................................
Figura
Figura5.8
5.7- -Transformao
Exemplo de Classes
No Linear
No Separveis
do Espao de
Linearmente
Entrada para
.................................................
o Espao de Caractersticas...

94
95
97
98
101
104
105
107
108
109
110
111

Figura 5.9 - Exemplo de Transformao no Linear do Espao de Entrada para o Espao de


Caractersticas ......................................................................................................
Figura 5.10 - Diferentes Margens com Diferentes Capacidades de Generalizao ..............
Figura 5.11 - Produto Interno dos Vetores we x ................................................................
Figura5.12 - Equao da Reta: w.x + b = 0..............................................................................
Figura 5.13 - Equao do Classificador e Margens ................................................................
Figura 5.14 - Remoo de Atributos de um Arquivo .arff....................................................
Figura 5.15 - Interface Weka GUI Chooser...........................................................................
Figura5.16-Janela do BoundaryVizualizer........................................................................
Figura 5.17 - Dados do Arquivo ris_mod.arff naTela do BoundaryVizualizer.............
Figura 5.18 - Escolha do AlgoritmoSMO................................................................................
Figura 5.19 Janela de Ajustes de Parmetros do SMO.........................................................
Figura 5.20 Bordas de Deciso da Simulao para C = 2.0 e Kernel PolyKernel..............
Figura 5.21 Bordas de Deciso da Simulao para C = 91 eKernel PolyKernel...............
Figura 5.22 Simulao com a Remoo de Alguns Pontos Perto das Bordas...................
Figura 6.1 Face (a) Feliz e Face (b) Triste
Figura 6.2 - Translao (a) Horizontal e (b)
...............................................................................
Vertical
Figura 6.3 Face Transladada Horizontal e Vertical .............................................................
.............................................................
Figura 6.4 Caso de Erro, com Translaes Horizontais e Verticais....................................
Figura6.5 Foto Sem os Olhos................................................................................................
Figura 6.6 Imagem com Rudos Classificada Erroneamente...............................................
Figura 6.7 Imagem em Cores, com Dimenses 512x512x3 ....................................................
Figura 6.8Comando Usado para Ler uma Imagem e Mostrar as suas Caractersticas ......
Figura6.9Imagem em Nvel de Cinza .....................................................................................
Figura 6.10 - Histograma da Imagem imgNC...........................................................................
Figura 6.11 Imagens dos Tecidos (a) Adiposo e (b) Epitelial................................................
Figura 6.12 Imagens em Nveis de Cinza dos Tecidos (a) Adiposo e (b) Epitelial..................
Figura 6.13 Histogramas dos Tecidos (a) Adiposo e (b) Epitelial, das Imagens da Figura 6.12..
Figura6.14 - Segmentao das Clulas da Figura6.12(b) ......................................................

112
114
114
115
116
118
119
119
120
121
122
123
123
124
130
131
133
134
135
136
138
138
139
139
140
141
141
144

Figura 6.15 - Grafo de Vizinhana Gerado a partir da Imagem Segmentada.........................

145

11

Lista de Tabelas
Tabela 2.1 Cestas de Compras ............................................................................................................
Tabela 2.2 Representao Booleana de Cestas de Compras..............................................................
Tabela 2.3 Tabela do Tempo................................................................................................................
Tabela 2.4 Verso Simplificada da Tabela 2.2....................................................................................
Tabela 2.5 Verso Alternativa da Tabela 2.2.....................................................................................
Tabela 2.6 Possveis Conjuntos Frequentes com 1 Item...................................................................
Tabela 2.7 Conjuntos Frequentes com 1 Item e SupMin 2/5 .........................................................
Tabela 2.8 Possveis Conjuntos Frequentes com 2 Itens ..................................................................
Tabela 2.9 Conjuntos Frequentes com 2 Itens e SupMin 2/5 ........................................................
Tabela 2.10 Possveis Conjuntos Frequentes com3 Itens ................................................................
Tabela 2.11 Conjuntos Frequentes com 3 Itens e SupMin 2/5 ......................................................
Tabela 2.12 Possveis Conjuntos Frequentes com 4 Itens ................................................................
Tabela 3.1 Tabela do Tempo................................................................................................................
Tabela 3.2 - Dia.......................................................................................................................................
Tabela 3.3 - Temperatura .......................................................................................................................
Tabela 3.4 - Umidade ..............................................................................................................................
Tabela 3.5 - Vento ..................................................................................................................................
Tabela 3.6 Temperatura ......................................................................................................................
Tabela 3.7Umidade .............................................................................................................................
Tabela 3.8 Vento .................................................................................................................................
Tabela 3.9 Dia e Temperatura .............................................................................................................
Tabela 3.10Dia eVento ......................................................................................................................
Tabela 3.11 - Umidade (Escolha Arbitrria).........................................................................................
Tabela 3.12 Dia e Umidade (arbitrrios)...........................................................................................
Tabela 3.13 Dia, Umidade eVento (arbitrrios)...............................................................................
Tabela 3.14 Dia e Umidade (arbitrrios)...........................................................................................
Tabela 3.15 Dia, Umidade eVento (arbitrrios)...............................................................................
Tabela 3.16 Tabela do Tempo com Trs Exemplos de Teste...............................................................
Tabela 3.17 Matriz de Confuso........................................................................................................
Tabela 4.1 - Tabela do Tempo................................................................................................................
Tabela 4.2 - Relao entre Dia e Partida........................................................................................
Tabela 4.3 - Taxa de Erros do Atributo Dia.......................................................................................
Tabela 4.4 - Taxa de Erros dos Atributos.............................................................................................
Tabela 4.5 - Matriz de Confuso...........................................................................................................
Tabela 4.6 - Matriz de Confuso para a Tabela do Tempo com o oneRe o Mtodo Use training set.
Tabela 4.7 - Matriz de Confuso para a Tabela do Tempo com o PRISM e o Mtodo Use training set
Tabela 4.8- Matriz de Confuso para a Tabela do Tempo com o oneR e o Mtodo da
PercentageSplit..............................................................................................................
Tabela 4.9 - Matriz de Confuso para a Tabela do Tempo com o PRISM e o Mtodo Use training set
Tabela 4.10 - Matriz de Confuso para a Tabela do Tempo com o oneR e o Mtodo da
Cross-validation...........................................................................................................
Tabela 4.11 - Matriz de Confuso para a Tabela do Tempo com o PRISM e o Mtodo da
Cross-validation...........................................................................................................
Tabela 4.12 - Matriz de Confuso para a Tabela do Tempo com o oneRe o Mtodo da Leave-one-out
Tabela4.13 - Matriz de Confuso para a Tabela do Tempo com o oneR e o Mtodo da Leave-one-out

12

30
31
31
35
35
35
36
37
37
38
38
38
58
59
59
59
59
60
60
60
60
60
63
64
64
65
65
70
73
88
88
89
89
92
94
95
96
96
97
97
98
99

Prefcio
O inicio do sculo XXI caracterizado pela era da informao e
crescimento exponencial de dados gerados em praticamente todas as
reas de atividade humana. Cada vez mais se torna necessrio o conhe
cimento e aperfeioamento de ferramentas apropriadas para extrair
informaes teis destes dados. A Minerao de Dados combina inte
ligncia artificial, aprendizagem de mquina, estatstica, base de dados
e tcnicas avanadas de programao para tratar grandes volumes de
dados.
Este livro foi escrito com o objetivo de oferecer uma viso prag
mtica da Minerao de Dados. Ele apropriado para ser utilizado como
livro texto de curso na rea, trazendo vrios exerccios prticos utilizando
o pacote gratuito e aberto Weka de rotinas escritas em Java, incluindo
exercicios no final de cada capitulo, juntamente com uma boa lista de
referncias bibliogrficas.
O livro procura passar uma experincia prtica de uso do pacote
de software permitindo que o leitor seja introduzido na rea vivenciando
as vrias modalidades de ferramentas disponiveis. Como nenhum algo
ritmo ou tcnica tem um desempenho superior para qualquer base de
dados, importante que o leitor adquira uma sensibilidade para poder
explorar e escolher a tcnica mais apropriada em cada caso.
O livro est organizado em seis capitulos que devem ser lidos na
sua sequncia.
O Capitulo 1, Sistemas Inteligentes traz as principais definies
necessrias, como sistemas, inteligncia, dados, informao, conheci
mento e desempenho. feita uma breve descrio das trs etapas da
Descoberta ou Extrao de Conhecimento em Base de Dados: pr-pro
cessamento, minerao de dados e ps-processamento. A Minerao de
Dados, por sua vez dividida nas tarefas de Associao, Classificao,
Agrupamento e Deteco de Anomalias. O capitulo finalizado fazendo
consideraes sobre a questo tica da Minerao de Dados, mencio
nando que o uso destas informaes podem levar medidas preventivas
de segurana pblica.

13

O Capitulo 2, Minerao de Dados e Regras de Associao, explica


como os dados devem ser estruturados atravs de suas transaes ou
exemplos, juntamente com seus atributos. O capitulo dedicado iden
tificao de Regras de Associao tambm denominadas regras IF-THEN.
Os indicadores de suporte e confiana ou acurcia so utilizados na ava
liao das melhores regras de associao. visto o algoritmo apriori uti
lizado para criar as regras de identificao. visto um exemplo com
pleto, passo-a-passo de identificao de Regras de Associao utilizando
a ferramenta Weka.
O Capitulo 3, Classificao e rvores de Deciso, utiliza o famoso
exemplo de classificao de 3 espcies de Flor ris utilizando a rvore de
deciso, onde cada n da rvore uma pergunta a ser testada. O n raiz
a pergunta inicial e as folhas so as classes resultantes da aplicao da
rvore de deciso.
introduzido o algoritmo ID3, baseado na noo de informao do
Shannon e comparado a um algoritmo de escolha aleatria na constru
o da rvore de deciso, ilustrando a compacticidade da rvore gerada
pelo algoritmo ID3. ilustrado tambm o processo de extrao de regras
de deciso a partir da rvore de deciso. Ainda neste captulo, o con
ceito de aprendizado supervisionado introduzido, juntamente com o
conceito de dados de treinamento e de testes e o processo de classifica
o. A avaliao dos resultados feita com o uso da Matriz de Confuso.
O capitulo termina com um exemplo completo utilizando o Weka para
gerar o classificador via rvore de Deciso e avaliar seu resultado com a
Matriz de Confuso.
O Capitulo 4, Classificao e Regras de Classificao, trata da Clas
sificao de dados atravs de Regras de Classificao e o processo de
gerao automtica dessas Regras. O objetivo desse capitulo passar
uma ideia geral do funcionamento dos algoritmo oneR (uma regra), clas
sificadores lineares, redes neurais e Mquinas de Vetores de Suporte
(MSVS), cujo entendimento indispensvel para o ajuste adequado
de seus parmetros e para a correta interpretao de seus resultados.
Pela simplicidade, inicialmente visto o algoritmo oneR e em seguida o
algoritmo PRISM, que utiliza o principio da cobertura para a criao das
regras. Os indicadores de resultados especificidade e sensibilidade so
tambm introduzidos neste captulo que termina com uma viso sobre

14

as melhores formas de utilizar os dados para as fases de treinamento e


de teste: Tcnica da ressubstituio ou uso do conjunto de treinamento;
mtodo da diviso da amostra; mtodo da validao cruzada; e mtodo
deixe-um-de-fora.
No Capitulo 5, Mquina de Vetores de Suporte (MVS), so vistos
inicialmente os classificadores lineares como o Perceptron e os concei
tos de otimizao da funo custo, conjuntos convexos, minimo global e
minimo local. Nos Classificadores no lineares, a reta substituida por
uma funo polinomial. As Mquinas de Vetores de Suporte so introdu
zidas atravs do Princpio da margem mxima que uma das principais
caracteristicas da MVS que traz mais estabilidade e desempenho deste
classificador. O capitulo traz ainda os conceitos de kernel da MVS, o tru
que do kernel, Parmetro de Complexidade C e o conceito da Praga da
Dimensionalidade. O capitulo termina ensinando a utilizar o Weka para
visualizar as bordas de deciso do MVS.
O Capitulo 6, Aplicaes de SVM Usando Imagens traz uma intro
duo classificao de imagens digitais utilizando SVM. Uma srie de
ilustraes utilizando o SVM para reconhecimento de expresses faciais
com imagens de apenas 49 pixels ajuda o leitor a entender problemas
mais complexos de classificao que utilizam imagens de vrios mega
pixels. Alm do uso dos prprios pixels da imagem como atributos, so
utilizados o seu histograma e atributos topolgicos tais como perimetro,
rea, excentricidade, orientao, razo de aspecto, entre outros. O capi
tulo traz ainda exemplos de classificao dos tecidos adiposo e epitelial.
Roberto de Alencar Lotufo, professor titular
Faculdade de Engenharia Eltrica e de Computao
Universidade Estadual de Campinas Unicamp

15

Captulo 1 - Sistemas Inteligentes


Introduo
Para entender o significado de Sistemas Inteligentes, uma forma
possivel iniciar com uma acareao sobre Sistema e Inteligente.
Do grego, o termo sistema significa combinar, ajustar, formar
um conjunto, como por exemplo em sistema respiratrio, que rene
vrios rgos responsveis pelo fornecimento de oxignio para as clu
las, ou sistema financeiro, que compreende pessoas, prdio, regras
etc., combinados para realizar operaes financeiras. Um sistema pode
ser formado por um conjunto de pessoas, recursos, instalaes e mto
dos direcionados a atingir um fim.
Embora seja muito dificil definir inteligncia, verifica-se que
no comportamento inteligente dos seres humanos esto presentes
ao menos a habilidade de resolver novos problemas, de adaptar-se s
mudanas do ambiente, de fazer previso, de raciocinar, de planejar, de
tomar decises compativeis com determinada situao, de melhorar seu
desempenho com a experincia, de comunicar, de entender, de fazer
inferncias lgicas, entre outras. Inteligncia tambm tem sido definida
como sintese de conhecimentos, ou seja, um agente possuindo a capa
cidade de sintetizar conhecimentos pode atingir um objetivo identific
vel exercitando algumas das habilidades acima enumeradas, como a do
raciocnio.
Nas mquinas, a simulao de comportamento inteligente geral
mente reproduz apenas partes das habilidades humanas, dentre elas
a capacidade de aprender. Basicamente, em uma abordagem opera
cional que mantenha somente os atributos funcionais do conceito, por
Sistema Inteligente entende-se aquele sistema capaz de melhorar seu
desempenho a partir da prpria experincia. Em outras palavras, um Sis
tema Inteligente deve ter a capacidade de aprender com as informa
es disponveis, ou com seus erros.
Note que na primeira tentativa de definio, inteligncia estava
associada sintese de conhecimento e raciocinio para atingir um obje
tivo, enquanto que nesta segunda definio, inteligncia est associada
melhora de desempenho e comportamento. E melhora de desempe
nho no necessariamente envolve conhecimento.
17

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Entre os seres humanos, o processo cognitivo de aprender geral


mente pressupe intencionalidade ou propsito por parte do sujeito,
caso contrrio, utiliza-se o termo treinamento, quando ento a intencio
nalidade passa a ser associada ao treinador e no ao agente sendo trei
nado. Porm, falar de intencionalidade em mquinas uma questo filo
soficamente controversa. Quando uma mquina produz respostas que
fazem sentido para o usurio, pode-se detectar intencionalidade nestas
respostas, mas trata-se de uma intencionalidade derivada da interpreta
o do usurio. Por isso, quando afirmamos que determinada mquina,
determinado agente ou programa tem a capacidade de aprender,
estamos usando o conceito num sentido mais raso, i.e., estamos usando
uma abordagem operacional ou funcional.
Um sistema inteligente pode ser um sistema fisico (essencial
mente hardware com capacidade adaptativa), um sistema computacio
nal (predominantemente um software que comanda uma mquina) ou
um sistema hibrido (um rob com sensores, atuadores, sistema opera
cional, programas computacionais etc.). Assim, por exemplo, um sistema
inteligente pode ser aquele capaz de estabelecer conexo automatica
mente com a internet, executar aplicaes nativas ou em nuvem, fazer
a anlise de dados coletados e tomar uma deciso. Para o escopo deste
livro, vamos nos limitar aos sistemas computacionais inteligentes, que
geralmente utilizam aprendizado de mquina para tomar decises inte
ligentes em reas cientficas, comerciais, de segurana, entre outras.
Independentemente da natureza do sistema inteligente, ele
ter que demonstrar habilidade para adaptar-se a mudanas em seu
ambiente no previstas pelo projetista e tomar decises baseadas em
novos conhecimentos adquiridos com experincia prpria. Para ilustrar a
diferena entre um sistema tradicional e um inteligente, primeiramente
pense num programa capaz de emitir extratos bancrios a milhes de
correntistas. Embora a implementao de tal programa possa ser algo
nada simples, as condies em que ele vai operar podem ser minucio
samente antecipadas, e seu comportamento ser essencialmente algo
ritmico. Agora pense num programa reconhecedor de voz humana. O
projetista do sistema no pode prever quem vai utilizar o sistema, muito
menos o contedo de sua fala. No comportamento desse sistema deve
haver um componente empirico. Ou pense num sistema capaz de ler
endereos preenchidos manualmente. Neste caso, no basta tentar
18

Sistemas Inteligentes e Minerao de Dados

utilizar apenas um tradicional reconhecedor ptico de caracteres, por


que cada ser humano tem seu prprio estilo de escrita. preciso desen
volver um programa que aprenda a reconhecer caracteres por meio de
um treinamento com muitas variaes de um mesmo caractere.
Ao tentar definir inteligncia, acabamos usando conceitos como
conhecimento e desempenho. Precisamos, portanto, agora discorrer
como se produz conhecimento e o que se entende por desempenho.
Como se sabe, esta sequncia de definies remete a uma recurso infi
nita. Por isso, para simplificar nossa tarefa e torn-la factvel, vamos ado
tar a estratgia de definir dadoe informao para chegar a conhecimento,
e da retornar ao conceito de inteligncia associada a desempenho.

Dado, Informao, Conhecimento, Desempenho e Inteligncia


Ao tentar definir conceitos muito abrangentes conveniente limi
tar o dominio de aplicao, principalmente pela dificuldade de se che
gar a um consenso entre especialistas, e depois porque, em nosso caso,
estamos interessados em direcionar as definies ao domnio de Tecno
logia e Sistemas de Informao. Pode parecer paradoxal afirmar que em
plena Era da Informao no haja uma viso clara do que informa
o. Convm, no entanto, relembrar que este mesmo cenrio j ocorreu
em outros periodos da histria humana.
A gentica mendeliana do sculo XIX, por exemplo, descobriu
experimentalmente que certas caracteristicas das ervilhas poderiam ser
transmitidas atravs da hibridao das plantas. Mas foi preciso esperar
por um sculo at a descoberta da estrutura do DNA para que uma teo
ria robusta explicasse o mecanismo da herana gentica. Antes disso, as
explicaes dos fenmenos de transmisso de herana gentica eram
meramente funcionais.
certo que vivemos na era da informao, mas ainda no temos
pleno dominio sobre ela, justamente porque no conseguimos caracte
riz-la adequadamente. Mesmo assim, importante definir Dado, Infor
mao e Conhecimento porque eles esto na base do Aprendizado.

Dado
um fato registrado ou uma quantidade (ou qualidade) conhecida
sem a necessidade de elaborao. Por ex., o peso (ou massa!) de uma
19

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

pessoa, o valor da dvida de um cliente, os registros de temperatura dos


ltimos anos, os conceitos ou as notas de provas de alunos, o nome de
um empregado etc.

Informao
Quando os dados apresentam alguma relao entre si, eles podem
ser contextualizados ou interpretados, adquirindo um significado. Neste
caso, a informao envolve dados contextualizados ou padres de asso
ciao escondidos numa coleo de dados. Alguns dados podem fazer
referncia a outros dados, e no a fatos ou objetos. Esses dados so
conhecidos como metadados e se confundem com o conceito de infor
mao, ou esto na origem da informao.
Por exemplo, associando-se o peso (ou massa) de uma pessoa
sua altura, obtm-se o ndice de Massa Corporal (IMC). Nesse contexto,
peso e altura so dados, IMC informao. Apenas o valor da divida
de um cliente no permite a um gerente de banco decidir sobre um
emprstimo. necessrio levar em conta a renda do cliente, ou talvez o
histrico de suas movimentaes, para que uma interpretao confivel
de seus dados possa ser feita. A taxa de reprovao em uma disciplina
uma informao que se obtm a partir dos dados reunidos dos conceitos
de provas dos alunos.
Note que o que consideramos informao em um contexto, pode
tornar-se dado em outro, dependendo da referncia utilizada. Por exem
plo, o IMC quando relacionado idade (ou ao sexo) de um paciente pode
funcionar como um dado, que associado a outro dado, pode revelar
importante informao sobre sua sade.

Conhecimento
As informaes teis a um propsito permitem ao indivduo com
preender uma situao, ou formar uma crena justificada sobre um fato.
Portanto, o conhecimento se forma a partir das informaes necess
rias para o entendimento de uma situao. Nesse contexto, conheci
mento o resultado da anlise das informaes relacionadas a um fato
ou evento, ou ainda a percepo de como certa informao pode ajudar
na realizao de uma tarefa especfica.
No mundo corporativo, o conhecimento produzido com regras de
inferncia sobre as informaes analticas da empresa ou com minerao
20

Sistemas Inteligentes e Minerao de Dados

de dados operacionais torna-se um importante aliado durante o pro


cesso de tomada de decises gerenciais.
Embora a diferenciao entre dados, informao e conhecimento
seja tnue, comumente aceito que estes trs conceitos podem ser
relacionados em uma estrutura hierrquica, como a representada pela
Figura 1.1.

Figura 1.1 - Relao entre Dados, Informao e Conhecimento.

Desempenho
O desempenho de um sistema pode ser aferido comparando-se o
resultado obtido com o esperado, ou com os recursos empregados para
chegar quele resultado. Quando algum toma um remdio para curar
uma doena, e se cura, geralmente dizemos que tal remdio foi eficaz
porque o resultado obtido se aproximou do esperado. Note que neste
caso, para medir o desempenho do sistema, comparamos sua saida com
o resultado esperado.
Por outro lado, quando dizemos que a eficincia de um motor a
combusto est em torno de 30%, estamos comparando a energia de
entrada (combustivel) com a de saida (potncia mecnica). Agora o
desempenho foi caracterizado pela relao entre entrada e saida do
sistema.

Inteligncia
Para manipular com eficincia o grande volume de dados atual
mente gerados pelos processos operacionais de empresas ou institui
es foram desenvolvidos Sistemas de Software Inteligentes, ou seja,
21

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

sistemas capazes de aplicar conhecimentos adquiridos e melhorar seu


desempenho a partir da prpria experincia. No mundo corporativo,
inteligncia, portanto, pode ser vista como a aplicao do conhecimento
gerado para a obteno de um fim determinado, que traga uma vanta
gem competitiva ou evite o comprometimento de interesses.
Nas ltimas dcadas foram criados vrios sistemas para otimizar
cada etapa do processo de extrao de conhecimento. Esses sistemas
cuidam desde a coleta de dados operacionais de uma organizao,
incluindo os dados fornecidos por um especialista, passando pela Mine
rao de Dados, at a anlise dos resultados. Atualmente o processo
geral que abrange os sistemas citados para a extrao de conhecimento
chamado de Descoberta ou Extrao de Conhecimento em Bases de
Dados, ou Knowledge Discovery in Databases, ou simplesmente KDD.

Descoberta de Conhecimento em Bases de Dados, ou KDD


Modelos ideais podem no resolver plenamente problemas de sis
temas reais, porque dados reais geralmente apresentam redundncias,
ausncias de valores, erros, inconsistncias etc. Processamento de dados
geralmente requer pr-processamento, pois a qualidade dos dados de
entrada pode ter um impacto significativo sobre a etapa seguinte, a de
Minerao de Dados.
O que se espera com a Minerao de Dados obter conheci
mento, ou uma representao de conhecimento na forma de regras
ou de estruturas equivalentes, que oriente uma deciso. Alm disso,
quando aplicado de modo inteligente, esse conhecimento alarga hori
zontes, permitindo fazer previses (ou modelagem preditiva), descobrir
novas associaes (ou modelagem descritiva), refinar agrupamentos
efetuados por critrio de semelhana ou certificar-se de anomalias de
comportamento.
E, com a representao do conhecimento em mos, h a neces
sidade de um ps-processamento para interpretar e validar os resulta
dos obtidos. Considere o caso de Sistemas Inteligentes conhecidos como
Sistemas Especialistas, utilizados por exemplo para diagnstico mdico,
que precisam expor de forma inteligvel a um especialista todas as eta
pas do encadeamento lgico de inferncias que levaram quele resul
tado. Caso contrrio, o mdico poder no se sentir seguro para acolher
o diagnstico produzido pelo sistema.
22

Sistemas Inteligentes e Minerao de Dados

A Figura 1.2 ilustra as principais etapas do processo de Desco


berta de Conhecimento em Bases de Dados. O propsito do Pr-pro
cessamento eliminar eventuais problemas nos dados brutos e coloc
-los num formato apropriado para a etapa seguinte, a da Minerao de
Dados, visando com isso melhorar significativamente a eficincia dos
algoritmos que sero usados. Os dados originais podem ter sido cole
tados e reunidos por diferentes departamentos, apresentando valores
esprios ou ausentes, ou contendo redundncias.

Figura 1.2 - Processo de Descoberta de Conhecimento ou KDD.

Para as grandes empresas, em que geralmente h mltiplas fon


de
tes
bases de dados fisicamente separadas, comum introduzir uma
etapa intermediria de pr-processamento. As principais transforma
es nos dados envolvem limpeza e fuso dos dados brutos, eliminao
de rudos e redundncias, diminuio do nmero de variveis e otimiza
o da forma de acesso.
Essas transformaes podem ser feitas reunindo todos os dados
num grande depsito ou repositrio de dados, conhecido como Data
Warehouse, que normalmente permite a pesquisa por assunto, por per
odo de tempo, por cliente, entre outras. Dependendo da quantidade de
dados envolvidos, esta etapa pode se tornar a mais demorada e traba
lhosa das trs etapas.

23

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Na etapa de Minerao de Dados, o objetivo descobrir de forma


automatizada relaes ou padres implcitos em grandes quantidades
de dados, ou comprovar alguma hiptese a partir de informaes at
ento no facilmente perceptveis nos dados. Antes do desenvolvimento
da Minerao de Dados, a Estatistica j oferecia vrias tcnicas para an
lise de dados, porm isso era feito de forma manual, restringindo sua
aplicao a bases de dados relativamente pequenas. A Minerao de
Dados evoluiu com a disseminao generalizada de sistemas computa
cionais, que quando associados a tcnicas de Inteligncia Artificial, por
exemplo aplicadas na rea de Banco de Dados, permitiriam a gerao
automtica de conhecimentos implicitos nos dados.
Finalmente, na etapa de Ps-processamento, possvel visualizar e
interpretar as regras ou os padres obtidos com a Minerao de Dados, e
eliminar os resultados equivocados ou pouco representativos. Nesta fase
bem comum a aplicao de testes estatsticos para validao dos resul
tados. Dependendo dos valores obtidos, o processo de Descoberta de
Conhecimento pode sugerir uma nova iterao, com uma volta etapa
de Minerao de Dados, quando ento o processo repetido com valo
res de parmetros modificados ou com a utilizao de novos algoritmos.
Como se v, a etapa em que efetivamente se d a descoberta de
conhecimento a da Minerao de Dados. Muitas ferramentas original
mente implementadas apenas para a etapa de Minerao de Dados atu
almente permitem fazer tambm o pr e o ps-processamento. Por isso,
na prtica, vrios autores consideram os termos Descoberta de Conheci
mento e Minerao de Dados como equivalentes. A seguir, vamos focar
de modo mais detalhado as principais tarefas da Minerao de Dados.

Minerao de Dados
O crescimento exponencial de dados gerados em praticamente
quase todas as reas de atividade humana, seja ela cientifica, comercial,
lazer, industrial, entre outras, acabou tornando invivel, a certa altura,
a anlise sistemtica baseada em tcnicas estatsticas manuais de gran
des bases de dados. nesse contexto que pesquisadores da rea de
Inteligncia Artificial, combinando tcnicas da Estatistica e de progra
mao avanada, comearam a desenvolver programas para extrao e
sumarizao automtica de informao til de grandes Bases de Dados
e criaram uma nova disciplina chamada Minerao de Dados.
24

Sistemas Inteligentes e Minerao de Dados

Na Minerao de Dados, dependendo do objetivo a ser atingido,


ou seja, do tipo de conhecimento a ser gerado, diferentes tarefas pode
ro ser executadas sobre a Base de Dados. As principais tarefas da Mine
rao de Dados so:
Associao na tarefa de Associao, partindo de um conjunto
de itens o objetivo encontrar Regras de Associao entre itens que
ocorrem simultaneamente. Um conjunto de itens pode ser uma cesta
de artigos com cdigo de barras vendidos num supermercado ou numa
livraria on-line, e o fato de dois artigos serem frequentemente compra
dos conjuntamente de grande interesse para o proprietrio. Note que
a ocorrncia simultnea de dois ou mais itens no implica necessaria
mente relao de causalidade. Note tambm que na prtica o nmero
de regras de associao de uma cesta pequena de artigos pode ser proi
bitivamente elevado. Isso nos obriga a lanar mo de medidas de qua
lidade ou de desempenho para eliminar as inmeras regras que se apli
cam a poucas transaes desses artigos, e selecionar apenas as Regras
de Associao que tenham uma grande abrangncia ou cobertura sobre
o total de transaes.
Classificao na tarefa de Classificao, a partir de uma srie de
exemplos previamente rotulados em duas ou mais classes, o objetivo
aprender a classificar um novo exemplo, cuja classe desconhecida. As
classes apresentam resultados discretos, como sim/no, ou baixo, mdio
e alto risco etc. Por exemplo, para as classes remdio e vitamina, com
base nas caracteristicas de determinado item X, interessa saber qual a
classe este item melhor se encaixa. Quando os resultados esperados no
pertencerem a classes discretas, ou seja, quando a varivel de predio
for real, a classificao recebe o nome de Regresso.
Clusterizao na tarefa de Clusterizao ou Agrupamento, um
grupo de registros diversos de uma Base de Dados deve ser segmentado
em subgrupos contendo registros similares. Ao contrrio da Classifica
o, na Clusterizao no h classes previamente definidas. O critrio
de agrupamento entre registros a similaridade dos atributos ou das
caractersticas dos registros.
Deteco de Anomalias na tarefa de Deteco de Anomalias, o
objetivo detectar desvios de um comportamento considerado normal,
e caracterizar uma situao como anormal ou no. Empresas de carto
de crdito utilizam os registros de movimentao de um carto para
25

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

impedir que um fraudador decidido a fazer muitas compras em pouco


tempo se passe pelo proprietrio legtimo do carto.
Em linhas gerais, as tarefas da Minerao de Dados so de natu
reza descritiva ou preditiva. Numa rede de supermercados pode ser
extremamente valioso descobrir quais produtos so comprados juntos.
Por exemplo, ao se descobrir que os produtos A, G e M so quase sem
pre comprados juntos, a simples alterao da posio das gndolas des
ses produtos pode aumentar as vendas. Em situaes desse tipo, em que
o conhecimento extraido auxilia na interpretao da massa de dados,
os padres de associao descobertos nos produtos oferecidos tm um
carter essencialmente descritivo.
J em certos ramos empresariais, pode ser muito importante
descobrir qual o comportamento tpico de clientes que esto prestes a
mudar de fornecedor, e, com base em suas caractersticas, construir um
modelo que auxilie na previso de comportamentos futuros. Geralmente
vale mais a pena usar tcnicas de fidelizao para reter um cliente bom e
antigo do que investir na busca de novos clientes, cuja fidelidade ainda
incerta. Usando o modelo de comportamento previamente desenvol
vido, juntamente com o histrico de compras de um cliente, possivel
fazer algumas inferncias e prever qual ser o possivel desfecho. Tarefas
que procuram predizer se um item pertence a uma classe ou no, so
essencialmente preditivas.
A Figura 1.3 - Classificao da Natureza das Tarefas da Minerao
de Dados. ilustra a classificao das principais tarefas de Minerao
de Dados em Atividades Descritivas ou Preditivas. Vale ressaltar que,
dependendo de como for implementada a Deteco de Anomalia, esta
tarefa poder ser mais bem caracterizada como de natureza descritiva.

Minerao de Dados e suas Implicaes ticas


Como o uso de dados pessoais na Minerao de Dados pode afetar
a privacidade de pessoas ou discriminar grupos socialmente fragilizados,
suas implicaes ticas tm sido amplamente discutidas na imprensa,
na academia, nos meios juridicos e no mundo corporativo. Quando se
pensa na politica das companhias de seguro, por exemplo, argumenta
-se que um cliente geralmente julgado mais pelos atributos do grupo
ao qual ele se enquadra e nem tanto pelas suas prprias caractersticas.
26

Sistemas Inteligentes e Minerao de Dados

Figura 1.3 - Classificao da Natureza das Tarefas da Minerao de Dados.

Os dados sobre pagamentos feitos com carto de crdito podem


expor as preferncias religiosas de seu dono. Seus hbitos de compras
de livros podem revelar suas preferncias polticas, ou gastos elevados
podem coloc-lo inadvertidamente no grupo de clientes de alto risco
para emprstimo bancrio. O CEP de um candidato pode apontar que
ele vive em uma regio considerada problemtica ou num bairro nobre,
seus dados mdicos podem lhe custar uma vaga numa grande empresa.
Por outro lado, as estatsticas sobre determinada modalidade de
crime podem ajudar as autoridades policiais a adotar medidas preven
tivas. O levantamento estatistico de regies carentes frequentemente
serve de orientao aos formuladores de politicas pblicas na hora de
conceber aes compensatrias localizadas. A anlise dos dados de
gasto do governo pode ajudar a corrigir distores ou denunciar maze
las. O conhecimento prvio de que algumas doenas e problemas de
sade parecem estar mais fortemente associados a uma etnia que a
outra auxilia o mdico na hora de solicitar exames mdicos, mesmo que
o paciente no apresente nenhum sintoma.
Como se v, no nada simples traar uma linha divisria que con
dene ou justifique o uso tico ou legal de dados armazenados. E se os
dados tiverem sido coletados sem o conhecimento do usurio, a ques
to torna-se ainda mais controversa. Por esta razo, e por se tratar de
uma tecnologia relativamente jovem, recomenda-se que a Minerao
de Dados seja empregada com cautela e, se possivel, com a anuncia
prvia das pessoas cujos dados foram coletados.
27

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Lista de Exerccios
1. Defina com suas prprias palavras e exemplos o que Dado,
Informao e Conhecimento.
2. Considerando a definio meramente operacional de que
aprender mudar o comportamento com base em sua pr
pria experincia de forma a melhorar o desempenho futuro,
justifique se um sapato amaciado pode ter aprendido alguma
coisa (WITTEN, I. H. & FRANK, E., 2005).
3. Qual a diferena entre Minerao de Dados e Recuperao de
Dados (Data Retrieval)?
4. Explique com suas prprias palavras as principais tarefas da Mi
nerao de Dados.

Referncia Bibliogrfica
FOROUZAN, B. & MOSHARRAF, F. Fundamentos da Cincia da Computao.
So Paulo: Cengage Learning, 2011.
GOLDSCHMIDT, R. & PASSOS, E. Data Mining: Um Guia Prtico. Rio de Janeiro:
Elsevier, 2005.
HAN, J. & KAMBER, M. Data Mining: Concepts and Techniques. San Francisco:
Morgan Kaufmann Publishers, 2008.
PADHY, N.P. Artificial Intelligence and Intelligent Systems. New Delhi: Oxford
University Press, 2010.
PINHEIRO, C. A. R. Inteligncia Analtica: Minerao de Dados e Descoberta de
Conhecimento. Rio de Janeiro: Editora Cincia Moderna Ltda., 2008.
REZENDE, S.O. (Organizadora). Sistemas Inteligentes: Fundamentos e Aplica
es. Barueri: Editora Manole Ltda, 2005.
RUSSEL, S. & NORVIG, P. Inteligncia Artificial. Rio de Janeiro: Elsevier, 2004.
TAN, P.N.; STEINBACH, M. & KUMAR, V. Introduo ao Data Mining Minerao
de Dados. Rio de Janeiro: Editora Cincia Moderna Ltda., 2009.
WITTEN, I. H. & FRANK, E. Data Mining: Practical Machine Learning Tools and
Techniques. Second Edition. Amsterdam: Morgan Kaufmann Publishers, 2005.

28

Captulo 2 - Minerao de Dados e


Regras de Associao
Introduo
A Minerao de Dados uma disciplina to vasta que qualquer
publicao sobre o tema obriga o autor a selecionar alguns tpicos em
detrimento de outros no menos importantes. A atividade de Regras de
Associao foi o tpico escolhido para iniciarmos a apresentao das
principais tarefas da Minerao de Dados por envolver ideias bem intui
tivas. A analogia entre Regras de Associao e Cesta de Compras facilita
o entendimento de como descobrir padres de associao entre itens de
um conjunto qualquer.

Minerao de Dados
Durante o processo de Descoberta de Conhecimento em Bases
de Dados, KDD, na etapa de Minerao de Dados que efetivamente
so encontrados os padres de associao implcitos nos dados. A an
lise automatizada dessa massa de dados visa detectar regularidades,
ou quebra de regularidade, que constitui informao implcita, porm
supostamente desconhecida, e til para determinado fim.
A Minerao de Dados pode ser vista como a sistematizao de
teorias, tcnicas e algoritmos desenvolvidos em outras disciplinas j
consagradas, como a Estatistica, a Inteligncia Artificial, o Aprendizado
de Mquina, a Base de Dados etc. (Figura 2.1). O propsito da Minera
o de Dados detectar automaticamente padres de associao teis
e no bvios em grandes quantidades de dados.
No dia a dia, uma quantidade incalculvel de dados gerada na
forma de registros de vendas, textos brutos, imagens, sons, grficos etc.,
tanto por sistemas computacionais como por seres humanos, consti
tuindo uma espcie de informao no estruturada. Embora esta forma
de registro de dados seja adequada para o ser humano, quando se trata
de analisar grandes quantidades de dados de forma automatizada,
comum e conveniente que se introduza alguma estrutura que facilite o
acesso e o processamento sistemtico.
29

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Inteligncia
Artificial

Aprendizado
de Mquina

Minerao
de Dados

Base de
Dados

Estatstica

Figura 2.1 A Relao da Minerao de Dados com Algumas Disciplinas Correlatas.

Para que parte de toda essa informao no estruturada possa


ser utilizada na Minerao de Dados, geralmente feita uma seleo e
um pr-processamento visando transformar dados brutos em colees
estruturadas de dados. Em termos prticos, para nossas consideraes
iniciais, a estrutura de representao de uma Base de Dados pode ser
semelhante a uma tabela de dados, sendo cada linha dessa tabela uma
transao ou um exemplo. Cada transao composta por um ou mais
itens ou, visto de outra forma, cada exemplo caracterizado por seus
atributos.
As Tabelas 2.1, 2.2 e 2.3 ilustram formas de dados estruturados
convenientes para a Minerao de Dados.
Tabela 2.1 Cestas de Compras.

TID

Itens

{Arroz, Feijo, leo}

{Queijo, Vinho}

{Arroz, Feijo, Batata, leo}

{Arroz, gua, Queijo, Vinho}

{Arroz, Feijo, Batata, leo}

Na Tabela 2.1 cada uma das Transaes possui uma IDentificao


(TID), e seus itens representam artigos vendidos em um supermercado.
Se a tabela de itens for muito extensa, como costuma ser em casos reais,
pode ser ainda mais conveniente representar cada um de seus itens na
30

Sistemas Inteligentes e Minerao de Dados

forma de um atributo associado a um valor booleano, como mostra a


Tabela 2.2.
Tabela 2.2 Representao Booleana de Cestas de Compras.

TID

Arroz

Feijo

Batata

leo

gua

Queijo

Vinho

Um exemplo clssico de uma Base de Dados usada em artigos sobre


Minerao de Dados apresentada na Tabela 2.3 (QUINLAN, 1986, apud
WITTEN & FRANK, 2005), composta por dados ficticios sobre as condi
es de tempo para que ocorra ou no a partida de um esporte no espe
cificado. A tabela composta por 14 exemplos (linhas), cada um com
cinco atributos (colunas): Dia, Temperatura, Umidade, Vento e Partida. A
tabela pode tambm ser interpretada de outra forma, como sendo com
posta por quatro atributos (Dia, Temperatura, Umidade e Vento) e uma
classe (Partida), que representa o resultado da combinao dos quatro
atributos.
Tabela 2.3 Tabela do Tempo.

Dia

Temperatura

Umidade

Vento

Partida

Ensolarado
Ensolarado

Elevada
Elevada

Alta
Alta

Falso
Verdadeiro

No
No

Nublado
Chuvoso

Elevada
Amena

Alta
Alta

Falso
Falso

Sim
Sim

Chuvoso
Chuvoso

Baixa
Baixa

Normal
Normal

Falso
Verdadeiro

Sim
No

Nublado

Baixa

Normal

Verdadeiro

Sim

Ensolarado
Ensolarado
Chuvoso

Amena
Baixa
Amena

Alta
Normal
Normal

Falso
Falso
Falso

No
Sim
Sim

Ensolarado
Nublado

Amena
Amena

Normal
Alta

Verdadeiro
Verdadeiro

Sim
Sim

Nublado
Chuvoso

Elevada
Amena

Normal
Alta

Falso
Verdadeiro

Sim
No

31

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Uma anlise mais atenta dos exemplos das Tabelas 2.1 e 2.3 mos
tra que alguns desses atributos sempre aparecem juntos e que, por
tanto, vrias Regras de Associao podem ser extradas dessas tabelas.

Regras de Associao
A representao do conhecimento atravs de regras, tambm
conhecidas como regras IF-THEN ou Regras de Produo, largamente uti
lizada porque, entre outras vantagens sobre formas alternativas de repre
sentao do conhecimento, regras so facilmente compreendidas pelo
ser humano, fceis de serem alteradas, validadas e verificadas, e de baixo
custo para a criao de sistemas baseados em regras (PADHY, N.P., 2010).
Regras de Associao so uma forma especfica de representao
de conhecimento que descrevem padres de associao implicitos entre
um conjunto de atributos ou itens de uma Base de Dados, e que podem
ajudar a predizer com alta probabilidade a presena, ou no, de outro
conjunto de atributos ou itens.
Dito de forma equivalente, uma Regra de Associao revela que a
presena de um conjunto X de itens numa transao implica outro con
junto Y de itens, i.e., X = {a, b, ...} Y = {p, ..., z}. Note que o fato de
um conjunto de itens X (antecedente) estar sempre associado a outro
Y (consequente) no significa obrigatoriamente que um seja a causa de
outro, i.e., no h necessariamente relao de causalidade entre ante
cedente e consequente e sim mera ocorrncia simultnea de itens com
certa probabilidade.
A estrutura geral de uma Regra de Associao assume a seguinte
forma:
If (Conjunto X de Itens) then (Conjunto Y de Itens), sendo XY=.
Com base na Figura 2.3, vrias Regras de Associao podem ser
formuladas:
If (Temperatura=Baixa) then (Umidade=Normal)
(2.1)
If(Umidade=Normal) and (Vento=Falso) then (Partida=Sim)
(2.2)
If(Dia=Ensolarado) and (Partida=No) then (Umidade=Alta)
(2.3)
If (Vento=Falso) and (Partida=No) then (Temperatura=Elevada)
and (Umidade=Alta)
(2.4)
32

Sistemas Inteligentes e Minerao de Dados

Estas so apenas algumas das muitas Regras de Associao que


podem ser formuladas com base na Tabela 2.3. Para selecionar as Regras
de Associao mais representativas, i.e., aquelas que se apliquem a um
grande nmero de exemplos com alta probabilidade de acerto, precisa
remos de mtricas para avaliar o alcance ou a fora de cada regra. Dois
dos mais conhecidos indicadores so Suporte e Confiana.
Suporte para cada regra do tipo X Y, este parmetro indica a
quantos exemplos da tabela esta regra satisfaz (i.e., contm) tanto ao
conjunto de itens de X quanto ao de Y, ou seja, indica sua cobertura com
relao ao nmero
total N de exemplos da tabela. Portanto,
ela. Portanto,

Por exemplo,
mrelao
com primeira
relao primeira
regra(2.1)
regra
h (2.1)
quatro
hexem
quatro exemplos
na Tabela 2.3 em que {X Y} = {Temperatura=Baixa, Umidade=Normal}.
Portanto,2.3emque
{X Y} = {Temperatura=Baixa, Umidade=Normal}. Portanto,

A RegraA 2.2
Regra
tambm
2.2 tambm
tem Sup(Regra
tem Sup(Regra
2.2)= 4/14,
2.2)a=terceira
4/14, aregratem
terceira regra
Sup(Regra
tem

Sup(Regra 2.3) = 3/14, enquanto que a quarta regra tem Sup(Regra 2.4) =
1/14.
Confiana a confiana de uma regra reflete o nmero de exem
plos que contm Y dentre todos aqueles que contm X (veja bem, alm
de X Y, podem existir regras do tipo X Z, X W etc.). Em outras
palavras, o parmetro Confiana determina quantos so os exemplos em
que X implica Y, comparado com aqueles exemplos em que X pode ou
no implicar Y. A este parmetro costuma-se tambm dar o nome de
Acurcia.nome de Acurcia.

Porcomrelao
exemplo, com
relaoRegra(2.1)
primeirahquatro
Regra (2.1)
h quatro exemplos
primeira
exemplosna
T
na Tabela 2.3 em que {X Y} = {Temperatura=Baixa, Umidade=Normal} e,
coincidentemente, quatro exemplos em que {X} = {Temperatura=Baixa).
Portanto,
33

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

coincidentemente, quatro exemplos em que {X} = {Temperatura=Baixa). Portanto,

A Regra 2.2 tambm tem Conf(Regra 2.2) = 4/4, a terceira


regra tem Conf(regra 2.3) = 3/3, enquanto que a quarta regra tem
Conf(Regra 2.4) = 1/2.
Regras de Associao so particularmente teis para analisar o
comportamento de clientes e propor vendas casadas. A informao
de que clientes que compram o item A geralmente compram o item B
pode aumentar significativamente as vendas de uma loja ou livraria, j
que toda vez que um cliente manifestar a inteno de comprar o item A,
a loja pode tambm lhe oferecer o item B.
Mas o fato de um simples conjunto de itens poder gerar muitas
regras de associao faz com que o nmero de regras associadas a uma
base de dados seja to grande a ponto de a maioria dessas regras no ter
qualquer interesse prtico. Para contornar esta situao, antes de come
ar a gerar as regras de associao, comum que sejam estabelecidos
um valor de Suporte Minimo (SupMin) e de Confiana Minima (Conf
Min). Regras com suporte muito baixo podem ser resultado de compras
feitas ao acaso e, portanto, no fornecem informaes de interesse. Por
outro lado, regras com confiana muito baixa podem indicar que seu
poder de predio baixo e, portanto, no muito aconselhvel assumir
que X implica Y com base nessas regras.
Agrawal (AGRAWAL et al., 1993) ao introduzir o conceito de Regras
de Associao props um algoritmo denominado Apriori no qual Regras
de Associao so geradas em duas etapas:
- Dado um conjunto de transaes T, primeiramente so criados
conjuntos de itens frequentes, chamados de Conjuntos Fre
quentes, que devem satisfazer o limite de SupMin;
- a partir desses Conjuntos Frequentes so geradas Regras de As
sociao com confiana maior ou igual ConfMin.

Etapa 1: Gerao de Conjuntos Frequentes com Suporte SupMin


As Tabelas 2.4 e 2.5 mostram verses simplificadas da Tabela 2.2,
aqui adaptada para que cada item possa ser representado por apenas
uma letra.
34

Sistemas Inteligentes e Minerao de Dados


Tabela 2.4 Verso Simplificada da Tabela 2.2.

Tabela 2.5 Verso Alternativa da Tabela 2.2.

TID
1

A
1

B
1

C
0

D
1

E
0

F
0

G
0

TID
1

Itens
{A, B, D}

2
3

0
1

0
1

0
1

0
1

0
0

1
0

1
0

2
3

4
5

1
1

0
1

0
1

0
1

1
0

1
0

1
0

4
5

{F, G}
{A, B, C, D}
{A, E, F, G}
{A, B, C, D}

De acordo com o algoritmo Apriori, para se obter os possveis


Conjuntos Frequentes relacionados a um conjunto de transaes, ini
cialmente devem ser criados Conjuntos Frequentes com 1 item apenas
e que satisfaam o critrio de Suporte Minimo. A seguir so criados
recursivamente Conjuntos Frequentes com 2 itens, depois com 3 itens,
e assim sucessivamente.
Os possiveis Conjuntos Frequentes com 1 item apenas, e seus res
pectivos valores de Suporte, esto representados na Tabela 2.6.
Tabela 2.6 Possveis Conjuntos Frequentes com 1 Item.

Itens
{A}

Suporte
4/5

{B}
{C}

3/5
2/5

{D}
{E}

3/5
1/5

{F}
{G}

2/5
2/5

Suponhamos que o SupMin tenha sido definido como 2/5, ou seja,


40%. De acordo com este critrio, o conjunto {E} no satisfaz SupMin e
deve ser eliminado. Portanto os Conjuntos Frequentes com 1 Item que
satisfazem o critrio de SupMin maior ou igual a 2/5 esto representa
dos na Tabela 2.7.
Ao adotar o procedimento de poda dos candidatos a Conjunto Fre
quente que no satisfazem o critrio de SupMim, o nmero total de Con
juntos Frequentes gerados pode cair significativamente. Em principio,
dada uma Base de Dados com k itens, o nmero de possiveis Conjuntos
Frequentes |CF| = 2k-1 (excluindo o conjunto vazio). Como em nossa
Tabela 2.4. h 7 itens, |CF| = 27-1 = 127.
35

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli


Tabela 2.7 Conjuntos Frequentes com 1 Item e SupMin 2/5.

Itens

Suporte

{A}

4/5

{B}

3/5

{C}

2/5

{D}

3/5

{F}

2/5

{G}

2/5

A seguir devem ser formados novos Conjuntos Frequentes com 2


Itens, partindo-se dos Conjuntos Frequentes com 1 Item. Note que o
Suporte de um Conjunto Frequente com 2 Itens pode ter no mximo o
menor valor de Suporte de cada um de seus subconjuntos, i. e., dos res
pectivos Conjuntos Frequentes com 1 Item. De acordo com esta mesma
propriedade, conhecida como Princpio Apriori ou antimonotnico, qual
quer subconjunto de um Conjunto Frequente tambm ser um Conjunto
Frequente. Por exemplo, se {A, B} for um Conjunto Frequente, ento {A}
e {B} tambm so Conjuntos Frequentes e tm Suporte SupMin.
A Tabela 2.8 mostra os possiveis Conjuntos Frequentes com 2 Itens
e os respectivos valores de Suporte.
Os conjuntos de 2 itens foram obtidos por combinao dos con
juntos de 1 item, enquanto que os valores de Suporte foram obtidos
inspecionando-se as Tabelas 2.4 e 2.5.
Note que os detalhes de como os conjuntos de itens so efetiva
mente gerados dependem da forma como o algoritmo Apriori foi imple
mentado, e diferem um pouco da exposio simplificada que se adotou
aqui por razes didticas.
Para calcular o Suporte dos Conjuntos Frequentes foi necessrio
ler a Base de Dados, que em nosso caso pequena e est representada
pela Tabela 2.4. Em uma implementao computacional altamente
desejvel que toda a Base de Dados possa ser lida na memria principal
do computador. Porm, se a Base de Dados for muito grande ela pro
vavelmente ter de ser lida no disco rgido. Para minimizar o nmero
de vezes que a Base de Dados consultada, muitos candidatos a Con
juntos Frequentes podem ser inicialmente criados e depois eliminados,
obtendo-se assim significativos ganhos de tempo.
36

Sistemas Inteligentes e Minerao de Dados


Tabela 2.8 Possveis Conjuntos Frequentes com 2 Itens.

Itens
{A, B}

Suporte

{A, C}

2/5

{A, D}

3/5

{A, F}

1/5

{A, G}

1/5

{B, C}

2/5

{B, D}

3/5

{B, F}

3/5

{B, G}

{C, D}

2/5

{C, F}

{C, G}

{D, F}

{D, G}

{F, G}

2/5

Para ns, neste momento, o importante compreender como os


Conjuntos Frequentes com k Itens podem ser gerados de forma relativa
mente simples pela combinao de Conjuntos Frequentes com k-1 Itens.
Aplicando-se novamente o critrio de SupMin 2/5, restam ape
os
nas Conjuntos Frequentes com 2 Itens apresentados na Tabela 2.9.
Tabela 2.9 Conjuntos Frequentes com 2 Itens e SupMin 2/5.

Itens
{A, B}

Suporte
3/5

{A, C}
{A, D}

2/5
3/5

{B, C}
{B, D}
{C, D}

2/5
3/5
2/5

{F, G}

2/5

O prximo passo agora consiste em criar novos Conjuntos Fre


quentes com 3 Itens, partindo-se dos Conjuntos Frequentes com 2 Itens,
cujo resultado mostrado na Tabela 2.10.
37

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli


Tabela 2.10 Possveis Conjuntos Frequentes com 3 Itens.

Itens

Suporte

{A, B, C}

2/5

{A, B, D}

3/5

{A, C, D}

2/5

{A, F, G}

1/5

{B, C, D}

2/5

{B, F, G}

{C, D, F}

{C, F, G}

Neste caso, novamente, alguns Conjuntos Frequentes no satisfa


zem o critrio do SupMin 2/5, havendo a necessidade de poda para
que estes conjuntos no participem da etapa seguinte.
Tabela 2.11 Conjuntos Frequentes com 3 Itens e SupMin 2/5.

Itens

Suporte

{A, B, C}

2/5

{A, B, D}

3/5

{A, C, D}

2/5

{B, C, D}

2/5

Vamos agora gerar novos Conjuntos Frequentes com 4 Itens, par


tindo-se dos Conjuntos Frequentes com 3 Itens (Tabela 2.11), cujo resul
tado mostrado na Tabela 2.12.
Tabela 2.12 Possveis Conjuntos Frequentes com 4 Itens.

Itens
{A, B, C, D}

Suporte
2/5

Se houvesse ao menos dois Conjuntos Frequentes com 4 Itens


poderiamos ainda tentar gerar Conjuntos Frequentes com 5 Itens. Mas
como h apenas um Conjunto Frequente com 4 Itens, esta primeira
etapa do algoritmo Apriori termina aqui.

38

Sistemas Inteligentes e Minerao de Dados

Etapa 2: Gerao de Regra de Associao a partir dos Conjuntos


Frequentes
Uma vez obtidos os Conjuntos Frequentes com Suporte > SupMin,

possvel extrair de cada Conjunto Frequente com k itens 2"-2 Regras


de Associao (excluindo o conjunto vazio na posio de antecedente
(2)=>CF) ou de consequente(CF=>)). Na Etapa 1 foram gerados os
seguintes Conjuntos Frequentes:

Conjuntos Frequentes com 1 tem (total de 6 CFs)


{A}, {B}, {C}, {D}, {F}, {G}
Conjuntos Frequentes com 2 tens (total de 7 CFs)
{A, B}, {A, C}, {A, D}, {B, C}, {B, D}, {C, D}, {F, G}
Conjuntos Frequentes com 3 tens (total de 4 CFs)
{A, B, C}, {A, B, D}, {A, C, D}, {B, C, D}
Conjunto Frequente com 4 Itens (total de 1 CF)
{A, B, C, D}
Para extrair as Regras de Associao de um Conjunto Frequente
necessrio primeiramente gerar todos os subconjuntos no-vazios desse
Conjunto Frequente CF, e para cada subconjunto S de CF produzir uma
Regra de Associao do tipo S => (CF - S) que satisfaa o critrio de Con
fiana > ConfMin.
Por exemplo, dado o CF = {A, B, C}, seus subconjuntos no-vazios
possveis so S = {{A}, {B}, {C}, {A, B}, {A, C}, {B, C}. Portanto, possvel
extrair seis Regras de Associao do CF = {A, B, C} que envolvam os trs
itens:

{A} =>{B, C},


{B} =>{A, C},
{C} =>{A, B},
{A, B} =>{C},
{A, C} =>{B},
{B, C} => {A}.
39

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Como o Suporte de todos os subconjuntos j ter sido calculado na


Etapa 1, no ser necessrio percorrer novamente a Base de Dados para
calcular a Confiana de cada Regra de Associao. Basta reutilizar estes
devalores
cada Regra
de Associao.
calculados,
pois Basta reutilizar estes valores calculados, pois

VoltandoVoltando
ao exemplo
como o2.5,
Suporte
={A, B,de
C} CF
2/5
ao inicialda
exemploTabela
inicial 2.5,
da Tabela
comodeoCF
Suporte
=

{A, B, C} 2/5 (veja Tabela 2.11), e com os Suportes de seus subconjuntos


Sup({A}) = 4/5 (veja Tabela 2.6),
Sup({B}) = 3/5 (veja Tabela 2.6),
Sup({C}) = 2/5 (veja Tabela 2.6),
Sup({A, B}) = 3/5 (veja na Tabela 2.9),
Sup({A, C}) = 2/5 (veja na Tabela 2.9), e
Sup({B, C}) = 2/5 (na Tabela 2.9),
a Confiana de cada uma das seis regras possveis ser:
Conf(A B, C) = (2/5) / (4/5) = 0,50
Conf(B A, C) = (2/5) / (3/5) = 0,66
Conf(C A, B) = (2/5) / (2/5) = 1,00
Conf(A, B C) = (2/5) / (3/5) = 0,66
Conf(A, C B) = (2/5) / (2/5) = 1,00
Conf(B, C A) = (2/5) / (2/5) = 1,00
Suponha que para o problema em questo tenha sido adotado
SupMin = 40% e ConfMin = 90%, ento apenas trs das regras acimas
seriam aproveitadas:
40

Sistemas Inteligentes e Minerao de Dados

Conf(C A, B) = 1,00

{Batata} {Arroz, Feijo}

Conf(A, C B) = 1,00

{Arroz, Batata} {Feijo}

Conf(B, C A) = 1,00

{Feijo, Batata} {Arroz}

Aplicando-se o procedimento explicado acima para todos os 18


CFs obtidos na Etapa 1, seriam geradas aproximadamente 30 Regras de
Associao com SupMin = 40% e ConfMin = 90% (na realidade, chega
mos ao nmero 30 atravs de simulao no Weka, como ser mostrado
na Atividade Prtica com o Weka).

Como Gerar Regras de Associao Usando a Ferramenta Weka


Nesta seo ser apresentado um pequeno tutorial sobre a gera
o de Regras de Associao usando o algoritmo Apriori implemen
tado na ferramenta de Aprendizado de Mquina para tarefas de Mine
rao de Dados Weka (Weka, 2013). A verso utilizada a 3.6.7. Para
fazer uma simulao no Weka, a Base de Dados ter de ser escrita ou no
formato CSV (Comma-Separated Value) (.csv) ou no formato ARFF
(Attribute-Relation File Format), um formato bastante simples e intuitivo
dessa ferramenta. Com o arquivo .arff carregado, podemos ajustar os
parmetros Suporte e Confiana e rodar o algoritmo Apriori.
Passo 1 - Vamos supor que nossa Base de Dados tenha sido reti
rada de uma planilha eletrnica (.xls) e salva no formato .csv, como
mostra a como Figura 2.2.

(a)

(b)

Figura 2.2 A Base de Dados Transacoes_1 na Forma (a) Planilha .xls e (b) .csv.

41

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Como o Weka tem um conversor interno do formato .csv para


.arff, vamos primeiramente usar este recurso. Depois vamos mostrar
como transformar manualmente o arquivo .csv para .arff.
Obs.: Certifique-se que em seu arquivo .csv o separador de clu
las seja efetivamente a virgula , e no ;. Se o arquivo .csv gerado
pela sua planilha utilizar ;, faa a substituio para , . Caso contrrio,
ocorrer um erro de leitura no Weka e o arquivo ser interpretado de
forma completamente diferente do esperado.
Passo 2 Dispare o Weka (GUI Chooser) e tome a opo Explo
rer, que corresponde verso com recursos grficos e icones (em vez
de linha de comando). Veja Figura 2.3.

(a)

(b)

Figura 2.3 Telas Iniciais do Weka (a) GUI Chooser e (b) Explorer.

Passo 3 Com a aba superior Preprocess escolhida, d um clique


em Open file.... Uma janela denominada Open deve se abrir. Ajuste a
opo de File Format: para .csv, e escolha o arquivo Transacoes_1.
csv, conforme mostra a Figura 2.4.

42

Sistemas Inteligentes e Minerao de Dados

Figura 2.4 Janela Open com a Opo File Format: em .csv.

Passo 4 A tela do Weka Explorer deve apresentar os sete atribu


tos do arquivo Transacoes_1, como mostra a Figura 2.5.

Figura 2.5 Os Sete Atributos do Arquivo Transacoes_1 So Mostrados.

43

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Passo 5 Como nossa Base de Dados muito pequena, a


converso manual do arquivo .csv para .arff pode ser feita muito
rapidamente.
Digite no arquivo Transacoes_1.csv as palavras-chave @rela
tion, @attribute e @data, de acordo com a Figura 2.6, salve e feche
o arquivo .csv. Mude a terminao do arquivo de .csv para .arff.
H ainda outras alternativas: Crie um arquivo Transacoes_1.txt com
o contedo mostrado abaixo na Figura 2.6 (certifique-se de que se trata
efetivamente de arquivo tipo .txt e no, por exemplo, Transacoes_1.
txt.doc ou Transacoes_1.txt.rtf). Feche o arquivo e mude a termina
o para .arff, ou seja, para Transacoes_1.arff.

Figura 2.6 Arquivo ARFF (Transacoes_1.arff), com Itens Ausentes Representados por n.

Passo 6 Com o arquivo Transacoes_1.arff pronto, disparar o


Weka, selecionar a aba Preprocess, depois clicar na opo Open file...
e escolher o arquivo Transacoes1_.arff, conforme mostra a Figura 2.7.

44

Sistemas Inteligentes e Minerao de Dados

Figura 2.7 Aba Preprocess + Open file... para Escolha do Arquivo ARFF.

Passo 7 Depois de abrir o arquivo Transacoes_1.arff, ainda com


a aba Preprocess selecionada, escolha No class (ao lado de Visua
lize all), conforme ilustra a Figura 2.8. (Como vamos gerar Regras de
Associao, qualquer um dos atributos pode funcionar como classe.
Este conceito vai ser melhor explicado quando formos estudar Regras de
Classificao.).

Figura 2.8 Seleo da Opo No class para Regras de Associao.

45

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Passo 8 Na aba superior do Weka, escolher Associate e ao lado


de Choose clicar duas vezes sobre o algoritmo Apriori, conforme
mostra a Figura 2.9.

Figura 2.9 Ajuste dos Parmetros de Entrada do Algoritmo Apriori.

Passo 9 Na janela que se abre, ajustar o SupMin (lowerBound


MinSupport) para 0.4, a ConfMin (minMetric) para 0.9 e o nmero de
regras mostradas (numRules) para 1000, conforme mostra a Figura 2.10.
Clicar em OK.

Figura 2.10 Ajuste dos Parmetros SupMin e ConfMin.

46

Sistemas Inteligentes e Minerao de Dados

Passo 10 Ao clicar em Start centenas de Regras de Associao


sero geradas, a maioria delas sem qualquer interesse, conforme ilustra
a Figura 2.11. Um dos riscos da gerao de Regras de Associao que
muitas delas podem no ter qualquer significado prtico. Para contor
nar este tipo de problema, possvel introduzir pequenas mudanas na
forma como os atributos so declarados e reduzir significativamente o
nmero de regras geradas.
Best rules found:
20.
19.
18.
17.
16.
15.
14.
13.
12.
11.
10.
9. B=y 3 ==> A=y
8.
7.
6.
5.
4.
3.
2.
1.
D=y 3 ==> A=y
F=n 3 ==> A=y
G=n 3 ==> A=y
D=y 3 ==> B=y
B=y 3 ==> D=y
B=y 3 ==> E=n
F=n 3 ==> B=y
B=y 3 ==> F=n
G=n 3 ==> B=y
B=y 3 ==> G=n
D=y 3 ==> E=n
F=n 3 ==> D=y
D=y 3 ==> F=n
G=n 3 ==> D=y
D=y 3 ==> G=n
F=n 3 ==> E=n
G=n 3 ==> E=n
G=n 3 ==> F=n
F=n 3 ==> G=n

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

conf:(1)
conf:(1)
conf:(1)
conf:(1)
conf:(1)
conf:(1)
conf:(1)
conf:(1)
conf:(1)
conf:(1)
conf:(1)
conf:(1)
conf:(1)
conf:(1)
conf:(1)
conf:(1)
conf:(1)
conf:(1)
conf:(1)
conf:(1)

Figura 2.11 Algumas Regras de Associao Geradas com o Arquivo Transacoes_1.arff.

47

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Passo 11 Uma forma de diminuir o nmero de regras substituir


os valores ausentes de atributo n por ?. Crie um arquivo Transa
coes_2.arff conforme mostra a Figura 2.12.

Figura 2.12 Arquivo Transacoes_2.arff com Itens Ausentes Representados por ?.

Isso vai evitar que o Weka crie regras sem qualquer significado
prtico envolvendo itens ausentes, como por exemplo, {F=n} {G=n}
(Regra 20 na Figura 2.11). Embora a regra {F=y} {G=y} (i.e., quem
compra queijo tambm costuma comprar vinho) possa ser de interesse,
a regra de que quem no compra queijo tambm no compra vinho)
dificilmente trar alguma informao prtica. Numa Base de Dados
muito grande, regras desse tipo podem aparecer em quantidades proi
bitivamente grandes.
Com o arquivo Transacoes_2.arff foram geradas 30 Regras de
Associao (Figura 2.13), sendo que as regras ilustrativas do texto de
teoria do Capitulo 2 envolvendo o CF = {A, B, C} aparecem na Figura 2.13
como as regras 15, 16 e 17.

48

Sistemas Inteligentes e Minerao de Dados

Figura 2.13 As 30 Regras de Associao Geradas com o Arquivo Transacoes_2.arff.

H outras formas de melhorar a qualidade dos resultados e con


trolar o nmero de regras geradas, por exemplo, atravs do parmetro
Lift, cujo significado fica como lio de casa.

49

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Consideraes Finais
Um conjunto de Regras de Associao constitui uma forma de
conhecimento extraido de uma Base de Dados, sendo esta representa
o do conhecimento geralmente um tipo de aprendizado muito til para
aplicaes prticas, como o aumento de vendas de uma rede de super
mercados, o projeto de catlogos de novos produtos ou o lanamento
de campanhas promocionais baseadas em vendas casadas. Geralmente
quando fazemos busca na Web, ao digitarmos uma palavra de busca
comum que outras palavras sejam sugeridas. Isso ocorre porque a ferra
menta de busca est usando Regras de Associao e tem em sua Base
de Dados registros de que pessoas que buscam a Palavra_1 geralmente
buscam tambm a Palavra_2, a Palavra_3, e assim por diante.
Nesta primeira abordagem da extrao de conhecimento a par
tir de uma Base de Dados foi suficiente apenas um procedimento algo
ritmo, sem necessidade de inferncias. Nos prximos capitulos vamos
mostrar que na prtica comum nos depararmos com situaes para as
quais no se conhece um algoritmo que produza o conhecimento neces
srio para uma tomada de deciso. Para estes casos, ser necessrio
pensar num mecanismo de inferncia que nos permita chegar con
cluso mais plausivel para determinada situao. Esse o caso de siste
mas conhecidos como Sistemas Especialistas, que auxiliam por exemplo
um mdico a fazer diagnstico a partir dos sintomas do paciente. Como
nem sempre os sintomas declarados pelo paciente so compatveis com
determinada doena, ou ento porque o paciente omite determinados
sintomas importantes para o diagnstico correto, o sistema precisa fazer
inferncias comparando sua Base [permanente] de Conhecimento com
os sintomas declarados.
Regras de Associao frequentemente usam atributos nominais
(por exemplo, temperatura elevada, amena, baixa) e mais raramente
atributos numricos (por exemplo 40r C, 23r C, 4r C), porque algo
ritmos para extrao de Regras de Associao com atributos numri
cos no costumam apresentar bom desempenho em grandes Bases de
Dados. Alm disso, ao no levar em conta por exemplo o preo de um
artigo ou a quantidade de itens vendidos em cada transao, as Regras
de Associao geralmente se transformam numa forma simplista de
representao do conhecimento extraido da Base de Dados.
50

Sistemas Inteligentes e Minerao de Dados

No exemplo da Cesta de Artigos mostramos como gerar Regras de


Associao que indiquem venda casada dos artigos mais comum. Mas,
frequentemente, os especialistas em vendas no esto muito interes
sados nestes itens porque a associao entre eles j conhecida. Na
realidade, estes especialistas buscam pares de itens dos quais um deles
um produto barato e o outro tem alta taxa de lucro. Nestes casos, lan
ar uma superpromoo do produto barato faz com que as vendas do
produto com alta taxa de lucro aumentem.
Em nossa Cesta de Artigos est implicito o padro de associao
entre Queijo e Vinho. Talvez ai, numa campanha de inverno, cadeias de
supermercados possam fazer promoes de queijos com o nico prop
sito de vender mais vinhos. Mas como as vendas de ambos eram rela
tivamente baixas, esta regra no satisfez os critrios estabelecidos de
SupMin e ConfMin. E, no entanto, possivelmente este tipo de informa
o a mais procurada. O que fazer para conseguir minerar as prolas de
informao?

Lista de Exerccios
1. Explique com suas prprias palavras a importncia do Suporte
Mnimo (SupMin) e Confiana Mnima (ConfMin) para a gera
o de Regras de Associao.
2. Explique com suas prprias palavras o que Conjunto Frequente
no contexto das Regras de Associao.
3. Crie uma pequena Cesta de Compras ( 5 Exemplos) com itens
relacionados ao seu ambiente de trabalho, ou rea de seu
TCC, ou a qualquer outra rea de seu interesse, e gere as Regras
de Associao no Weka. Anexe o respectivo arquivo .arff, e
um pequeno relatrio sobre a simulao.

51

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Referncia Bibliogrfica
AGRAWAL, R.; IMIELINSKI, T. & SWAMI, A. Mining Association Rules Between
Sets of Items in Large Databases. Proceedings of the 1993 ACM SIGMOD Inter
national Conference on Management of Data, Washington, DC. New York:
ACM, 1993.
PADHY, N.P. Artificial Intelligence and Intelligent Systems. New Delhi: Oxford
University Press, 2010.
QUINLAN, J. R. Induction of Decision Trees. Machine Learning, Vol. 1, No. 1, pp.
81-106. Boston: Kluwer Academic Publishers, 1986.
ROCHA, M.; CORTEZ, P. & NEVES, J. M. Anlise Inteligente de Dados: Algorit
mos e Implementao em Java. Lisboa: FCA Editora de Informtica, 2008.
TAN, P. N.; STEINBACH, M. & KUMAR, V. Introduo ao Data Mining Minerao
de Dados. Rio de Janeiro: Editora Cincia Moderna Ltda., 2009.
Weka. The Waikato University. In http://www.cs.waikato.ac.nz/ml/weka. Aces
sado em 03.03.13.
WITTEN, I. H. & FRANK, E. Data Mining: Practical Machine Learning Tools and
Techniques. Second Edition. Amsterdam: Morgan Kaufmann Publishers, 2005.

52

Captulo 3 - Classificao e rvores


de Deciso
Introduo
de grande interesse, em muitas situaes, conseguir classificar
antecipadamente o tipo de problema apresentado por um paciente com
base nos sintomas relatados e tomar medidas para combater determi
nada doena em seu estgio inicial. Em muitos casos reais isso tem sido
possivel graas anlise minuciosa de Bases de Dados contendo anota
es mdicas de outros pacientes com solues bem sucedidas previa
mente documentadas.
Em instituies financeiras, para um gerente de banco nem sem
pre algo simples fazer uma avaliao de risco sobre a concesso de
emprstimos de alto valor. Com base em dados de transaes anteriores
e nas caractersticas especficas de cada cliente, quase sempre possvel
extrair automaticamente informaes no bvias que ajudam a classifi
car um correntista como bom ou mau pagador.
Estes so apenas alguns casos em que se verifica que h sempre
informaes teis e no evidentes em grandes Bases de Dados. Estas
informaes podem ser automaticamente extraidas com Minerao de
Dados e interpretadas de modo a constituir conhecimento especializado
e til para a tomada de deciso. A representao do conhecimento atra
vs de rvores de Deciso vai ser o tema deste capitulo.

Classificao
Classificao uma forma de modelagem preditiva, isto , com
base nos atributos de entrada de um objeto possivel predizer o atri
buto de sada desse objeto. Na prtica, os Exemplos de uma Base de
Dados esto previamente rotulados em duas ou mais classes para serem
utilizados num processo de treinamento, cujo fim criar uma estrutura
de representao do conhecimento contido nessa Base de Dados.
Quando se fala em Exemplos previamente rotulados geralmente
se subentende que eles sero usados em Aprendizado Supervisionado
de Mquina. Os rtulos ou classes dos Exemplos orientam o processo de
53

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

treinamento, ao final do qual se obtm um Modelo que sintetiza todo o


conhecimento contido nas variveis ou nos atributos. Este Modelo pode
ento ser usado para prever o valor da varivel alvo ou do atributo de
saida de novos Exemplos desconhecidos.
O objetivo ento da Classificao predizer em que classe um novo
Exemplo, no pertencente ao Conjunto de Treinamento, deve ser colo
cado. Para que esta tarefa possa ser adequadamente desempenhada
necessrio extrair da Base de Dados uma estrutura de conhecimento, tal
como rvores de Deciso ou Regras de Classificao.
Em outras palavras, o Modelo induzido por inferncia equiva
lente a uma funo que mapeia valores de entrada, geralmente deno
minados variveis independentes ou explicativas, a um nico valor de
saida, geralmente denominado varivel dependente ou alvo. Na Clas
sificao, a varivel de saida, via de regra, discreta (ou categrica),
enquanto que na Regresso a varivel de sada contnua.
A Figura 3.1 ilustra simplificadamente um estudo clssico intro
duzido por (FISHER, 1936), cujo artigo original apresenta trs conjuntos
com 50 amostras (ou Exemplos), totalizando 150 medidas do compri
mento e da largura de uma pequena flor conhecida como Flor de Lis ou
ris. De acordo com os atributos de entrada Comprimento e Largura
da ptala, cada Exemplo dessa flor pode ser classificado em uma das trs
classes: Setosa, Versicolor ou Virginica.
As linhas tracejadas no grfico ajudam a entender por que a clas
sificao da ris do tipo Setosa pode ser mais simples que a dos tipos
Versicolor e Virginica. Como a ris do tipo Setosa apresenta largura e
comprimento da ptala bem menor que as outras duas, basta considerar
apenas um dos atributos, digamos Comprimento < 2,5 cm, para poder
classific-la corretamente. No caso dos tipos Versicolor e Virginica, tanto
o atributo Comprimento quanto Largura se sobrepem em algumas regi
es do grfico e, portanto, poder haver erro associado classificao
destes tipos de ris.

54

Sistemas Inteligentes e Minerao de Dados

Figura 3.1 Representao do Estudo da Flor ris com Dois Atributos. 123

Em muitas aplicaes prticas perfeitamente aceitvel a utili


zao de algoritmos relativamente simples que produzam um modelo
claro de representao do conhecimento, mesmo que isso implique uma
certa taxa de erro na classificao. Modelos facilmente compreensiveis
de representao de conhecimento, como rvores de Deciso e Regras
de Classificao, permitem que um especialista avalie o modelo e detecte
problemas em sua estrutura. Tanto para o mdico quanto para o gerente
de banco que se utilizam de um modelo de classificao para auxiliar em
sua deciso, importante que eles consigam interpretar todos os passos
lgicos utilizados pelo sistema para chegar quela classificao e avali
-los luz da respectiva experincia profissional.
Por outro lado, em muitas aplicaes o mais importante otimi
zar a taxa de acerto ou a preciso do modelo, mesmo que isso implique
certa perda de clareza, de simplicidade ou de desempenho do modelo.
Redes Neurais e Mquinas de Vetor de Suporte so duas ilustraes de
tcnicas que podem oferecer alta preciso, mas que utilizam modelos de
1 Fonte: http://en.wikipedia.org/wiki/File:Iris_virginica.jpg (Acessado em 19.02.13).
2 Fonte: http://en.wikipedia.org/wiki/File:Iris_versicolor_3.jpg (Acessado em 19.02.13).
3 Fonte: http://en.wikipedia.org/wiki/File:Kosaciec_szczecinkowaty_Iris_setosa.jpg (Acessado em 19.02.13).

55

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

classificao dificeis de entender. comum o uso dessas duas tcnicas


na rea de aplicaes financeiras, porque investidores geralmente esto
mais interessados no ganho obtido diariamente na aplicao mais bem
classificada do que no modelo matemtico explicativo. Por esta razo, a
deciso de usar um modelo orientado ao conhecimento ou um modelo
tipo caixa-preta deve ser feita caso a caso.
Para a tarefa de Classificao, os dois modelos orientados ao
conhecimento mais comuns de representao so rvores de Deciso
e Regras de Classificao. Ambos so logicamente equivalentes e permi
tem que a partir de uma rvore de Deciso seja possivel obter as corres
pondentes Regras de Classificao, e vice-versa, embora a obteno de
rvores a partir de Regras seja um processo mais complexo. H, porm,
vantagens e desvantagens observadas durante a gerao desses mode
los, que sero discutidas mais a frente.
A Figura 3.2 apresenta modelos simplificados de uma rvore de
Deciso e das correspondentes Regras de Classificao para o caso da
flor ris. Com estes modelos simplificados, os erros de classificao ilus
trados na Figura 3.1 novamente se repetiram aqui. Para reduzir a taxa de
erros, veremos que ser necessrio usar mtodos de aprendizado mais
refinados ou complexos.
Dependendo da representao desejada, diferentes mtodos de
inferncia sero usados sobre os dados. Mesmo que um modelo faa
classificao com erros, importante observar que cada Exemplo sem
pre pertencer a uma nica classe.

rvores de Deciso
Numa rvore de Deciso cada atributo representado por um n
de deciso, cuja funo testar o valor desse atributo. Uma classe
representada por um n folha, que rene todos os Exemplos que chega
rem a ele depois de satisfazerem os testes dos ns de deciso intermedi
rios. Portanto, numa rvore de Deciso, a classificao de um Exemplo
desconhecido implica percorrer toda a rvore a partir de um n raiz,
testando atributos em sucessivos ns internos at chegar a um n folha,
que lhe atribuir uma classe. O objetivo de uma rvore de Deciso
retornar uma classe para um Exemplo desconhecido.

56

Sistemas Inteligentes e Minerao de Dados

Figura 3.2 Modelos Equivalentes: (a) rvore de Deciso e (b) Regras de Classificao.

Induo de rvores de Deciso


Uma rvore de Deciso pode ser construida de forma recursiva,
dividindo sucessivamente o conjunto de atributos em subconjuntos. Pri
meiramente escolhemos um elemento do conjunto de atributos para ser
o n raiz e adicionamos uma aresta para cada um dos possveis valores
que este atributo pode assumir. A seguir, repetimos o processo recursi
vamente em cada uma das arestas com os atributos restantes at que
todos os Exemplos daquele subconjunto pertenam mesma classe.
Gerar uma rvore de Deciso com escolha aleatria da sequn
cia de atributos no difcil, porm dependendo da ordem desses atri
butos, diferentes rvores sero geradas. Isso significa que uma mesma
Base de Dados pode produzir muitas rvores de Deciso funcionalmente
equivalentes, mas com tamanhos distintos. Como estamos interessados
nos modelos mais compactos, interessante encontrar critrios que aju
dem a decidir sobre a ordem em que os atributos devem aparecer na
rvore de Deciso.
Para ilustrar esta questo, vamos utilizar como caso de estudo
novamente a clssica Tabela do Tempo (Tabela 3.1), introduzida por
57

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

(QUINLAN, 1986),tendo como atributos de entrada Dia, Temperatura,


Umidade e Vento, e como atributo de saida (ou classe) Partida.
Para ser mais preciso, na realidade temos duas classes Sim e No,
e queremos construir uma rvore de Deciso que represente de forma
compacta os Exemplos contidos nessa tabela. A seguir, com a rvore
de Deciso obtida, dado um novo Exemplo, vamos tentar predizer se
vai ou no haver Partida num determinado dia, sendo a resposta a
combinao linear dos atributos de entrada.
Tabela 3.1 Tabela do Tempo.

Dia

Temperatura

Umidade

Vento

Partida

Ensolarado
Ensolarado

Elevada
Elevada

Alta
Alta

Falso
Verdadeiro

No
No

Nublado
Chuvoso

Elevada
Amena

Alta
Alta

Falso
Falso

Sim
Sim

Chuvoso
Chuvoso

Baixa
Baixa

Normal
Normal

Falso
Verdadeiro

Sim
No

Nublado
Ensolarado
Ensolarado

Baixa
Amena
Baixa

Normal
Alta
Normal

Verdadeiro
Falso
Falso

Sim
No
Sim

Chuvoso
Ensolarado

Amena
Amena

Normal
Normal

Falso
Verdadeiro

Sim
Sim

Nublado
Nublado

Amena
Elevada

Alta
Normal

Verdadeiro
Falso

Sim
Sim

Chuvoso

Amena

Alta

Verdadeiro

No

Inicialmente vamos considerar separadamente para o n raiz cada


um dos quatro atributos possiveis e ver como o atributo de saida Par
tida se divide em Sim e No. Na Tabela 3.2 ressaltado o atributo
Dia, na Tabela 3.3, Temperatura, na Tabela 3.4, Umidade, e na
Tabela 3.5, Vento.
Como estamos interessados em construir uma rvore compacta,
dentre os quatro atributos candidatos para n raiz, o atributo Dia
parece o mais promissor porque dentre as trs arestas que teremos de
colocar neste n (Ensolarado, Nublado e Chuvoso), a aresta para
Nublado tem todos seus elementos pertencentes mesma classe
Sim e, portanto, esta aresta da rvore de Deciso termina aqui com
um n folha Sim.
58

Sistemas Inteligentes e Minerao de Dados


Tabela 3.2 - Dia.

Tabela 3.3 - Temperatura.

Tabela 3.4 - Umidade.

Dia
Ensolarado
Nublado
Chuvoso
Partida
Sim
No

Temperatura
Elevada
Amena
Baixa
Partida
Sim
No

Umidade No
Alta
Normal
Partida
Sim

Tabela 3.5 - Vento.

Vento
Falso
Falso
Falso
Falso
Falso
Falso
Falso
Falso
Verdadeiro
Verdadeiro
Verdadeiro
Verdadeiro
Verdadeiro
Verdadeiro

Partida
Sim
Sim
Sim
Sim
Sim
Sim
No
No
Sim
Sim
Sim
No
No
No

A Figura 3.3 ilustra esta primeira iterao na construo de uma


rvore de Deciso compacta.

Figura 3.3 N Raiz para os Dados do Tempo.

Como nas arestas Ensolarado e Chuvoso h elementos tanto da


classe Sim como da classe No (veja Tabela 3.2), outro atributo deve
ser escolhido para cada aresta, e assim sucessivamente at que todos os
elementos de um ramo pertenam a uma mesma classe. Como restam os
atributos Temperatura, Umidade e Vento, analisando a Tabela 3.1,
vamos testar cada um deles em combinao com a aresta Ensolarado.
As Tabelas 3.6, 3.7 e 3.8, mostram as combinaes possiveis de
Dia=Ensolarado com Temperatura, Umidade e Vento. Aqui tam
bm percebemos que Umidade parece ser a escolha mais promis
sora porque todos os elementos de Umidade=Alta correspondem
classe No e todos os elementos com Umidade=Normal pertencem
classe Sim. Portanto, temos mais dois ns folhas aqui, favorecendo a
construo de uma rvore mais compacta.
59

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli


Tabela 3.6 Temperatura.

Tabela 3.7 Umidade.

Tabela 3.8 Vento.

Dia
Ensolarado
Temp. Sim
Elevada
Amena
Baixa
Partida
No

Dia
Ensolarado
Umidade Sim
Alta
Normal
Partida
No

Dia
Ensolarado
Ensolarado
Ensolarado
Ensolarado
Ensolarado

Vento
Partida
Falso
Sim
Falso
No
Falso
No
Verdade Sim
Verdade No

A Figura 3.4 ilustra a segunda iterao do algoritmo com mais dois


ns folhas, dando por completa esta regio da rvore de Deciso.

Figura 3.4 O Atributo Umidade Combinado com Dia.

Para a terceira aresta, ou seja, Dia=Chuvoso, restam duas alter


nativas agora: Temperatura e Vento. Vamos construir as tabelas de
combinao para descobrir a mais interessante. As Tabela 3.9 e Tabela
3.10 ilustram as possveis combinaes.
Tabela 3.9 Dia e Temperatura.

Chuvoso
Dia

Baixa
Amena
Temperatura

Partida
Sim
No

Tabela 3.10 Dia e Vento.

Dia
Chuvoso
Chuvoso
Chuvoso
Chuvoso
Chuvoso

Vento
Falso
Falso
Falso
Verdadeiro
Verdadeiro

Partida
Sim
Sim
Sim
No
No

Comparando as duas tabelas, nota-se que o atributo Vento


o mais indicado para esta iterao porque todos os elementos de
Vento=Falso esto classificados como Sim e todos os elementos
de Vento=Verdadeiro esto classificados como No. Portanto estas
duas arestas da rvore de Deciso terminam com um n folha cada. A
Figura 3.5 ilustra a nova situao.
60

Sistemas Inteligentes e Minerao de Dados

Figura 3.5 rvore de Deciso para os Dados da Tabela do Tempo.

Nesta iterao o algoritmo termina, pois todos os Exemplos da


tabela foram avaliados e classificados em suas respectivas classes. Porm
algumas consideraes podem ser feitas.
Por trs do critrio de seleo de atributos aqui apresentado de
forma intuitiva, h uma slida justificativa matemtica introduzida por
(QUINLAN, 1986), baseada na Teoria da Informao de Claude Shannon,
capaz de avaliar a quantidade de informao do melhor atributo dentre
os candidatos para teste em um determinado n.
O critrio de escolha do melhor atributo para cada iterao no
algoritmo ID3, criado por (QUINLAN, 1986), medido pela significn
cia estatistica, que em nosso caso se expressa pela proporo de Sims
e Nos no atributo de saida Partida. Como foi ilustrado anterior
mente, mais promissor escolher um atributo que tenha associado a
ele respostas compostas unicamente por Sims ou Nos porque neste
caso podemos colocar um n folha correspondente e terminar com as
subdivises. Em outras palavras, quanto mais compacta uma rvore,
menos testes sero necessrios para classificar um Exemplo. Por outro
lado, se o conjunto de respostas composto por uma mescla de Sims
e Nos, ento faz-se necessrio colocar mais um n interno, com um
novo atributo sendo testado, implicando um crescimento da rvore de
Deciso.
De acordo
com presente
adeShannon,
frmula
em uma
tabela Tabe
como a
informao
a frmula
, de Shannon,
emuma tabela
comoa
Tabela 3.1 a quantidade de informao presente ,

61

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

sendo pi a proporo de Sims e Nos associados a um atributo (a


quantidade de informao ou entropia medida em bits, ou fraes de
bits!). Por exemplo, na Tabela 3.1 temos apenas duas classes (Sim e
No), sendo que dos 14 Exemplos, 9 pertencem classe Sim e 5
classe No. Portanto, a quantidade de informao associada a esta
da seguinte
de informao
tabelapode
ser calculada da seguinte forma,
tabela
pode serassociadaa
calculadaesta
forma,

UmaUma
forma
alternativa
de interpretar
estes nmeros
pensar
que estamos
de interpretar
forma
alternativa
estes nmeros
pensar
que

estamos interessados em medir o grau de impureza de um conjunto de


respostas. Se todas as respostas forem apenas Sim ou apenas No,
ento o grau de impureza do conjunto 0. Por outro lado, se tivermos
ud de
zsr ento
10%
Nos,
de Sims
ntoo gr
e 90%
mpur
Nos,
,
o grau de impureza seria,

De acordo
De acordo
comestecom
raciocnio,
este ograude
raciocnio,
impureza
o graumxima
de impureza
representado
mxima
pela

representado pela proporo 50% de Sims e 50% de Nos, sendo


Info(Tab_(50/50) = 1 bit).
Voltando ao nosso problema original de escolha do atributo mais
promissor em cada iterao do algoritmo, vamos calcular o grau de impu
reza da Tabela 3.2, que se refere ao atributo Dia. Esse atributo se subdi
vide em trs alternativas possiveis, com as seguintes propores de Sims
e Nos: Ensolarado (2Sim/3No), Nublado (4Sim/0No) e
Portanto, seugraudeimpureza
,
Chuvoso
(3Sim/2No). Portanto,
seu grau de impureza ,

Fazendo
a soma
ponderada
de cada
uma uma
dessas
alternativas
sobre sobre
os 14
Fazendo
a soma
ponderada
de cada
dessas
alternativas
Exemplos,
resulta, resulta,
os
14 Exemplos,

Aplicando-s
ron oraciocinio
smhnt semelhante
prostr butos
rtur, Tempera
Umdd
Aplicando-se
paraTosmp
atributos

tura, Umidade e Vento obtm-se os seguintes valores,


62

Sistemas Inteligentes e Minerao de Dados

Info(Temperatura) = 0.91bits
Info(Umidade) = 0.79bits
info(Vento) = 0.89bits

Portanto, dos quatro atributos possveis na primeira iterao, o


atributo Dia o que tem o grau mais baixo de impureza, e , portanto,
o mais promissor para construir uma rvore de Deciso Compacta.
Continuando este procedimento recursivamente, chega-se a rvore de
Deciso apresentada na Figura 3.5.
H mais sutilezas matemticas envolvidas que no foram mencio
nadas, e outros detalhes importantes do algoritmo ID3 precisariam ser
abordados se nossa inteno fosse explicar seu funcionamento. Porm,
o que pretendemos aqui apenas dar uma ideia de seu embasamento
terico para que ao nos depararmos com uma ferramenta que imple
mente este algoritmo seja possivel entender o resultado de seus clculos.

rvore de Deciso No Compacta


Para efeito comparativo, vamos supor que algum critrio arbitrrio
de escolha da ordem dos atributos tenha sido utilizado e que o n raiz
contenha o atributo Umidade. A Tabela 3.11 mostra que este atributo
possui Exemplos misturados pertencentes a classes distintas, portanto
necessrio um novo teste, i.e., escolher um novo atributo para teste. A
Figura 3.6 mostra o resultado dessa escolha arbitrria.
Tabela 3.11 - Umidade (Escolha Arbitrria).

Umidade
Alta
Alta
Alta
Alta
Alta
Alta
Alta
Normal
Normal

Partida
Sim
Sim
Sim
No
No
No
No
Sim
Sim

Normal

Sim

Normal
Normal

Sim
No

Figura 3.6 - rvore de Deciso com N Raiz Arbitrrio.

63

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

O atributo escolhido arbitrariamente agora foi Dia e as combina


es possiveis com Umidade so mostradas na Tabela 3.12. A segunda
iterao do algoritmo para a construo da rvore de Deciso Alterna
tiva mostrada na Figura 3.7.
Tabela 3.12 Dia e Umidade (arbitrrios).

Dia
Ensolarado

Umidade
Alta

Partida
No

Ensolarado

Alta

No

Ensolarado

Alta

No

Nublado

Alta

Sim

Nublado
Chuvoso

Alta

Sim

Chuvoso

Alta

No
Figura 3.7 Segunda Iterao da rvore de Deciso Alternativa.

Embora as arestas de Dia=Ensolarado e Dia=Nublado termi


nem em n folha, a aresta para Dia=Chuvoso exige um novo teste j
que h duas respostas distintas possiveis. O prximo atributo escolhido
arbitrariamente foi Vento, como mostra a Tabela 3.13. A ilustrao da
Figura 3.8 ajuda a entender como a falta de uma rotina de otimizao
produz rvores desnecessariamente grandes.
Tabela 3.13 Dia, Umidade e Vento (arbitrrios).

Chuvoso
Dia
Alta
Umidade Falso
Vento

Chuvoso Alta

Sim
Partida

Verdadeiro No

Figura 3.8 rvore de Deciso sem Otimizao.

64

Sistemas Inteligentes e Minerao de Dados

A Tabela 3.13 mostra que esta regio da rvore de Deciso est


encerrada, com dois novos ns folhas. Vamos agora considerar a aresta
correspondente a Umidade=Normal (Tabela 3.14) e supor que o novo
teste escolhido ser o atributo Dia. O resultado da escolha do atributo
Dia para a aresta de Umidade=Normal mostrado na Figura 3.9.
Tabela 3.14 Dia e Umidade (arbitrrios).

Dia

Umidade Partida

Ensolarado

Normal

Sim

Ensolarado

Normal

Sim

Nublado

Normal

Sim

Nublado

Normal

Sim

Chuvoso

Normal

Sim

Chuvoso

Normal

Sim

Chuvoso

Normal

No

Figura 3.9 Atributo DiaUsado em Duas Posies Diferentes.

Como a opo de Dia=Chuvoso exige um novo teste, vamos


supor que o atributo escolhido tenha sido Vento, produzindo o resul
tado mostrado na Tabela 3.15. O resultado final da rvore de Deciso
No-Compacta mostrado na Figura 3.10.
Tabela 3.15 Dia, Umidade e Vento (arbitrrios).

Dia
Chuvoso
Chuvoso
Chuvoso

Umidade
Normal
Normal
Normal

Vento
Falso
Falso
Verdadeiro

Partida
Sim
Sim
No

65

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Figura 3.10 rvore de Deciso No-Compacta para a Tabela do Tempo.

Com este teste, o algoritmo se encerra j que todos os Exemplos


foram devidamente considerados e se encaixaram num dos caminhos
possiveis da rvore de Deciso.
Tanto a rvore da Figura 3.5 quanto a da Figura 3.10 classificam
corretamente todos os Exemplos da Tabela do Tempo representada
pela Tabela 3.1. Mas, como a Tabela 3.5 mais compacta, ela deve ser
preferida.

rvores de Deciso Usadas para Modelagem Descritiva


Comparando-se as rvores de Deciso das Figura 3.5 e Figura 3.10,
percebe-se que em nenhuma das duas aparece o atributo Temperatura
e, no entanto, ambas classificam corretamente todos os Exemplos. Con
siderando que essas rvores de Deciso representam as relaes rele
vantes entre os valores dos atributos e os respectivos rtulos de classe,
isso significa que Temperatura no essencial para a determinao de
classe do atributo de saida Partida. O conjunto de Exemplos da Tabela
do Tempo mostra que a combinao dos outros atributos que deter
mina se vai ou no haver uma partida, independentemente da Tempe
ratura (porque possivelmente a partida se dar em ambiente fechado).
Ao fazer este tipo de anlise para explicar um padro de relacio
namento entre atributos, estamos usando uma rvore de Deciso como
um modelo descritivo, e no preditivo. Isso ilustra outra aplicao inte
ressante das rvores de Deciso na qual o objetivo adquirir um melhor
entendimento sobre os dados coletados e, dessa forma, formular hip
teses explicativas para um fenmeno em estudo.
66

Sistemas Inteligentes e Minerao de Dados

Considere, por exemplo, a pesquisa sobre determinada doena,


para a qual foram coletados dados mdicos de pacientes portadores ou
no dessa doena. A descoberta de quais fatores podem desencade-la,
e de quais fatores so irrelevantes, da maior importncia para a pes
quisa mdica. Em outras reas, a modelagem descritiva pode ser igual
mente interessante. Pense, por exemplo, na importncia em entender o
comportamento dos frequentadores de determinado estabelecimento
comercial, ou no aumento de lucro que algum pode obter ao traar o
perfil de consumo de um segmento social.

Regras de Classificao a partir de uma rvore de Deciso


A gerao de Regras de Classificao a partir de uma rvore de
Deciso feita percorrendo desde o n raiz at um n folha, anotando a
conjuno de condies representadas pelos ns internos. A cada classe
da rvore de Deciso corresponde uma Regra de Classificao, sendo
ambas logicamente equivalentes.
Vamos reproduzir a rvore de Deciso da Figura 3.5 para ilustrar
esse processo de gerao de Regras de Classificao a partir de uma
rvore de Deciso.

Figura 3.5 rvore de Deciso para os Dados da Tabela do Tempo.

Partindo-se do n raiz Dia, seguindo pela aresta correspondente


condio Ensolarado, passando pelo n interno Umidade e, final
mente, tomando a aresta Alta, chega-se ao n folha No. Dessa
forma, podemos gerar a primeira regra relativa classe No, como
ilustra a Regra 3.1:
IF (Dia = Ensolarado) AND (Umidade = Alta) THEN (Partida = No)

(3.1)

67

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Esta regra foi construida como uma conjuno lgica (AND) de


duas condies lgicas. Por inspeo na rvore de Deciso da Figura 3.5
verifica-se que h outro caminho terminando na classe No, que pode
ser representado pela Regra 3.2:
IF (Dia = Chuvoso) AND (Vento = Verdadeiro) THEN (Partida = No)

(3.2)

As duas Regras 3.1 e 3.2, formadas por conjunes (AND),


podem ser fundidas numa nica regra utilizando-se uma disjuno lgica
(OR), como mostra a Regra 3.3:
IF [(Dia = Ensolarado) AND (Umidade = Alta)] OR [(Dia = Chuvoso) AND
(Vento = Verdadeiro)] THEN (Partida = No)
(3.3)

Regras com estrutura lgica semelhante Regra 3.3 so conhe


cidas como regras na forma disjuno de conjunes. Aplicando-se
o mesmo procedimento descrito para os casos restantes, obtm-se a
Regra de Classificao correspondente classe Sim, representada pela
Regra 3.4:
IF [(Dia = Ensolarado) AND (Umidade = Normal)] OR [(Dia = Nublado)] OR
[(Dia = Chuvoso) AND (Vento = Falso)] THEN (Partida = Sim)
(3.4)

Treinamento, Aprendizado e Classificao


Recapitulando o que foi feito at aqui, inicialmente consideramos
a existncia de uma Base de Dados codificada na forma de uma tabela
com vrios atributos. A seguir, apresentamos um algoritmo capaz de
construir uma rvore de Deciso a partir desses dados estruturados.
Como cada Exemplo da Base de Dados era composto por alguns atribu
tos e um rtulo de classe (ou atributo de saida), ns podemos entender
todo este processo de construo de rvores de Deciso como sendo
um processo de Aprendizado Supervisionado por meio de Treinamento.
Diz-se que o Aprendizado Supervisionado quando cada Exem
plo usado no Treinamento possui um rtulo de classe que orienta (ou
otimiza) um mecanismo de reforo ou penalizao, ou seja, quando j se
sabe antecipadamente a qual classe determinado elemento pertence.
Muitas vezes os Exemplos no trazem o rtulo de classe e ainda assim
possvel ocorrer aprendizado, porm, nestes casos diz-se que o Apren
dizado No-Supervisionado. Por exemplo, com um conjunto de Exem
plos sem rtulos de classe possvel agrup-los de acordo com algum
critrio, como o critrio de afinidade.
68

Sistemas Inteligentes e Minerao de Dados

A rvore de Deciso resultante representa o Modelo gerado ou o


Conceito aprendido. Note que para cada Base de Dados ser construida
uma rvore de Deciso que lhe corresponde. Ou seja, ns temos um
algoritmo que em princpio gera rvores genricas, que refletem a estru
tura dos dados utilizados no treinamento. Como a rvore de Deciso
gerada poder ser usada para diagnosticar doenas, classificar produtos
comerciais, ou explicar a correlao de fatores de um fenmeno, pode
mos dizer que o Sistema Inteligente que emprega este tipo de algoritmo
de aprendizado melhora seu desempenho a partir de sua prpria experi
ncia (ou treinamento). A Figura 3.11 ilustra as trs fases de um Sistema
Inteligente Classificatrio.

Figura 3.11 Treinamento, Aprendizado e Classificao em um Sistema Inteligente Simples.

O Treinamento viabiliza o Aprendizado de um Conceito pelo Sis


tema Inteligente, e a aquisio de um Conceito pelo sistema elimina a
necessidade de um aprendizado constante. O processo de Aprendizado
pode ser demorado, mas uma vez aprendido um Conceito, o processo de
Classificao bem mais rpido. A Figura 3.11 no mostra outros cami
nhos ou fluxos de trabalho do sistema para a obteno do Modelo dese
jado de rvore de Deciso. comum que aps a gerao do primeiro
69

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

modelo de rvore, os resultados obtidos no sejam satisfatrios. Nesse


caso, uma nova rodada de treinamento se inicia, com novos parmetros
e ajustes adicionais, at a gerao de um segundo modelo. Este processo
se repete de forma iterativa e interativa at que se chegue a uma rvore
de Deciso com as caractersticas buscadas.
Tendo descrito o processo de criao ou induo de uma rvore
de Deciso, vamos ver agora que resultados de classificao podemos
obter com esta rvore. A Tabela 3.16 apresenta alguns novos Exemplos
que usaremos para teste.
Tabela 3.16 Tabela do Tempo com Trs Exemplos de Teste.

Dia
Ensolarado

Temperatura
Elevada

Umidade
Alta

Vento
Falso

Partida
No

Ensolarado
Nublado

Elevada
Elevada

Alta
Alta

Verdadeiro
Falso

No
Sim

Chuvoso
Chuvoso
Chuvoso

Amena
Baixa
Baixa

Alta
Normal
Normal

Falso
Falso
Verdadeiro

Sim
Sim
No

Nublado
Ensolarado

Baixa
Amena

Normal
Alta

Verdadeiro
Falso

Sim
No

Ensolarado
Chuvoso

Baixa
Amena

Normal
Normal

Falso
Falso

Sim
Sim

Ensolarado
Nublado

Amena
Amena

Normal
Alta

Verdadeiro
Verdadeiro

Sim
Sim

Nublado
Chuvoso

Elevada
Amena

Normal
Alta

Falso
Verdadeiro

Sim
No

Ensolarado

Amena

Normal

Falso

????

Ensolarado
Nublado

Baixa
Baixa

Alta
Alta

Verdadeiro
Verdadeiro

????
????

Chuvoso

Elevada

Normal

Falso

????

Usando tanto a rvore de Deciso da Figura 3.5 quanto a da Figura


3.10, o resultado para o primeiro Exemplo de Teste, aquele que se inicia
com Dia=Ensolarado e Temperatura=Amena, Sim, para o segundo
Exemplo, com Dia=Ensolarado e Temperatura=Baixa, a resposta
No, para o terceiro Exemplo Dia=Nublado, a resposta Sim e final
mente para o quarto Exemplo, com Dia=Chuvoso, a resposta Sim.
70

Sistemas Inteligentes e Minerao de Dados

Overfitting e Poda
possivel que para alguns Exemplos de Teste os resultados pro
duzidos por rvores de Deciso compactas, como a da Figura 3.5, no
sejam os mesmos de rvores de Deciso no-compactas, como a da
Figura 3.10, muito embora os resultados para todos os Exemplos de Trei
namento tenham sido os mesmos. O que pode ocorrer com rvores no
compactas que algumas das arestas refletem um superajuste (overfit
ting) aos Exemplos de Treinamento. Se neste Conjunto de Treinamento
houver ruido ou outliers, a estrutura resultante da rvore de Deciso
pode no refletir s relaes essenciais entre os atributos da Base de
Dados.
Para evitar o overfitting, muitos algoritmos se valem de uma tc
nica conhecida como Poda, que consiste em eliminar algumas arestas
da rvore de Deciso com base em medidas estatisticas dos Exemplos.
A Poda pode ocorrer sobre uma rvore de Deciso concluida, com a eli
minao de algumas arestas consideradas desnecessrias, ou durante a
construo da rvore de Deciso, com a introduo precoce de um n
folha em arestas com baixa importncia estatistica, por exemplo.
A rvore de Deciso da Figura 3.10 poderia ter algumas de suas
arestas removidas sem comprometer seriamente a taxa de erros na clas
sificao. De fato, observando-se a Tabela 3.4, verifica-se que dos sete
Exemplos que apresentam Umidade=Normal, seis deles tm rtulo de
classe Sim. Por esta razo, o n interno direita da Figura 3.10, (repro
duzida na Figura 3.12(a)), representando o atributo Vento, poderia
ser eliminado e substituido por um n folha Sim j que a maioria dos
Exemplos que chegam a este n apresentam o rtulo de classe Sim. A
seguir, o n interno Dia tambm pode ser eliminado pois todas seus
ns terminais passaram a ser do tipo Sim. A Figura 3.12 mostra o resul
tado desse processo de Poda.
Para avaliar quantitativamente o desempenho de um modelo
gerado, seja ele uma rvore de Deciso ou um conjunto de Regras de
Classificao, veremos que h tcnicas e medidas de desempenho espe
cialmente desenvolvidas para este fim.

71

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

(a)

(b)
Figura 3.12 rvore de Deciso No-Compacta (a) Antes e (b) Depois da Poda.

Matriz de Confuso e Avaliao dos Resultados


Ao se gerar uma rvore de Deciso o que se espera que ela
classifique corretamente Exemplos desconhecidos, mas na prtica s
vezes verifica-se a ocorrncia de classificaes equivocadas. Isso tam
bm ocorre com o diagnstico de profissionais especializados. Quando
um especialista deseja detectar a presena ou no de uma doena, ele
72

Sistemas Inteligentes e Minerao de Dados

solicita exames laboratoriais para auxili-lo a formular um diagnstico


positivo ou negativo sobre esta provvel doena.
Se as respostas possiveis para um diagnstico forem Positivo e
Negativo, quatro combinaes de resultados previstos e resultados
reais podem ocorrer:
1. Se o paciente for portador da doena e o mdico acertar no
diagnstico, dizemos que este caso um Verdadeiro Positivo
ou VP;
2. Se o paciente no for portador da doena e o mdico acertar no
diagnstico, dizemos que este caso um Verdadeiro Negativo
ou VN;
3. Se o paciente for portador da doena, e o mdico errar no diag
nstico afirmando que ele est so, dizemos que este caso um
Falso Negativo ou FN;
4. Se o paciente no for portador da doena, e o mdico errar no
diagnstico dizendo que ele est doente, dizemos que este caso
um Falso Positivo ou FP.
Essas quatro combinaes de resultados costumam ser represen
tadas por uma matriz que recebe o nome de Matriz de Confuso, como
mostra a Tabela 3.17.
Tabela 3.17 Matriz de Confuso.

Positivo Previsto

Negativo Previsto

Positivo Real

Verdadeiro Positivo (VP)

Falso Negativo (FN)

Negativo Real

Falso Positivo (FP)

Verdadeiro Negativo (VN)

Os valores contidos numa Matriz de Confuso podem ser utiliza


dos para avaliar o desempenho de uma rvore de Deciso. O que se
espera nos resultados que os casos positivos sejam classificados como
positivos e os negativos como negativos, ou seja, o desejvel que as
taxas de sucesso para Verdadeiro Positivo e Verdadeiro Negativo sejam
altas, e que as taxas de Falso Positivo e Falso Negativo sejam baixas.
Fazendo uma relao entre os Exemplos corretamente classifica
dos, i.e., Verdadeiro Positivo (VP) mais Verdadeiro Negativo (VN), com
o nmero total de classificaes (VP+VN+FP+FN), podemos definir uma
73

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

mtrica de desempenho para a taxa de acertos ou sucesso, conhecida


rvore
deDeciso.
Portanto, de uma rvore de Deciso. Portanto,
como
Preciso
ou Acurcia

Como Gerar uma rvore de Deciso Usando o Weka

77

A ferramenta Weka (Weka, 2013) permite gerar rvores de Deci


so de forma automtica ou interativa. Vamos mostrar a gerao auto
mtica a partir de um arquivo de entrada.
Passo 1 - Uma forma rpida de criar o arquivo de entrada tipo
.arff a partir de uma planilha de dados .xls (Figura 1.1(a)) salv-la
no formato .csv (Figura 3.13(b)), depois abrir este arquivo num edi
tor de texto, acrescentar algumas palavras-chave e salvar novamente
(Figura 3.14(a)). Saia do editor de texto e mude manualmente a exten
so do arquivo de .csv para .arff (Figura 3.14(b)). Note que as Figura
3.14(a) e (b) so idnticas, mas a extenso dos arquivos diferente.

(a)

(b)

Figura 3.13 Tabela do Tempo (a) Formato .xls e (b) Formato .csv.

74

Sistemas Inteligentes e Minerao de Dados

Na unidade anterior, sobre como gerar Regras de Associao no


Weka, foi explicado que o Weka aceita trabalhar diretamente o formato
.csv, sem a necessidade de acrescentar palavras-chaves. Mas, em
alguns casos a criao do arquivo .arff se justifica. Em caso de dvida
sobre esta questo, consulte o material da unidade anterior.

(a)

(b)

Figura 3.14 Arquivo Tabela_do_Tempo (a) .csv com Palavras-Chave, e (b) Arquivo .arff.

75

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Passo 2 - Dando dois cliques sobre o icone do arquivo Tabela_


do_Tempo.arff ele se abrir dentro do Weka, mostrando uma figura
semelhante Figura 3.15. Alternativamente, possivel primeiramente
abrir o Weka Explorer, depois Open file... e localizar o arquivo Tabela_
do_Tempo.arff.

Figura 3.15 Arquivo Tabela_do_Tempo.arff Aberto no Weka.

Note que na seo Attributes aparecem os cinco atributos da


Tabela do Tempo na ordem em que foram declarados. Na Figura 3.15
aparecem ainda os detalhes da composio de um dos atributos sele
cionados, neste caso Dia, mas qualquer um dos quatro atributos res
tantes pode ser selecionado.

76

Sistemas Inteligentes e Minerao de Dados

Passo 3 Com o arquivo Tabela_do_Tempo.arff aberto, clique na


aba Classify, localizada da parte superior esquerda da janela do Weka
Explorer. A seguir, clique em Choose para escolher o algoritmo de clas
sificao. Primeiro clique em trees, depois em J48 (Figura 3.16). O
algoritmo J48 uma implementao mais recente do ID3 e, alm
disso, tem tambm a vantagem de permitir, dentro do Weka, visualizar a
rvore de Deciso construida.

(a)

(b)

Figura 3.16 Aba Classify com a Opco (a) Choose para Escolher (b) o Menu de Algoritmos.

Uma vez escolhido o algoritmo J48 possivel conferir e alterar


alguns parmetros. Clicando com o boto esquerdo do mouse sobre
J48 abre-se um menu com todos os valores default. Inicialmente
vamos trabalhar com estes valores.

77

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Passo 4 Ainda dentro da aba Classify, em Test options escolha


Use training set e clique no boto Start, um pouco abaixo. A opo
Use training set significa que o mesmo Conjunto de Treinamento
usado para gerar a rvore de Deciso ser usado para testar os resulta
dos (veja Figura 3.17). Se o Conjunto de Exemplos da Base de Dados no
for inconsistente, geralmente a taxa de acerto com esta opo deve ser
de 100%. Mais adiante, na prxima unidade de estudo, veremos que h
outras formas mais interessantes de testar a robustez e a qualidade do
Modelo gerado.

Figura 3.17 A Escolha da Opo de Teste Use training set.

78

Sistemas Inteligentes e Minerao de Dados

Passo 5 Ao disparar o processo de treinamento com o algoritmo


J48 aparecem na regio direita da tela (Classifier output) os resul
tados desejados (Figura 3.18). A rvore de Deciso aparece na forma
textual, mas pode ser vista na forma grfica. Na parte inferior da tela,
aparecem o nmero e a porcentagem de exemplos classificados correta
mente, a Acurcia (ou Preciso) por Classe e a Matriz de Confuso.

Figura 3.18 Resultado do Processo de Treinamento e Induo da rvore de Deciso.

Se voc tiver interesse em saber como cada uma dos exemplos foi
classificado, clique na aba More options... e depois habilite Output
predictions. Clique em Start novamente.

79

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Passo 6 Clicando com o boto direito do mouse na regio inferior


esquerda, onde se l Result list (right-click for options), mais precisa
mente sobre a faixa azul trees.J48, possivel visualizar graficamente o
resultado, escolhendo Visualize tree (Figura 3.19).

Figura 3.19 Representao Grfica da rvore de Deciso.

Os nmeros entre parnteses em cada n folha da Figura 3.19


indicam quantos exemplos chegaram at esta folha. Somando-se estes
nmeros, verifica-se que 14 exemplos foram testados nesta simulao.
Passo 7 Se voc quiser saber exatamente quais Exemplos
foram classificados em quais classes, primeiramente abra o arquivo
Tabela_do_Tempo.arff no editor do Weka, que pode ser acessado
pelo seguinte caminho: interface Weka GUI Chooser, depois Tools, e
depois ArffViewer (Figura 3.20).

80

Sistemas Inteligentes e Minerao de Dados

Figura 3.20 Interface Weka GUI Chooser.

Quando a janela ARFF-Viewer se abrir, localize o arquivo


Tabela_do_Tempo.arff clicando primeiramente em File e depois em
Open....
Com o editor do Weka aberto, clique no atributo Umidade, ou
qualquer outro atributo, para ordenar os Exemplos de acordo com os
valores que este atributo pode assumir.

Figura 3.21 Tabela do Tempo Ordenada pelos Valores de Umidade.

Note que com este editor, possivel alterar os valores dos atribu
tos, clicando sobre o campo a ser alterado.
Obs.: O editor do Weka tambm pode ser acessado no Weka
Explorer, escolhendo a aba Preprocess e depois Edit....

81

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Passo 8 Para testar novos Exemplos no Classificador sem sair da


interface Weka Explorer, h a opo Supplied test set. Vamos supor
que os quatro novos Exemplos da Tabela 3.16 de nosso material de Teo
ria devam ser testados no Weka Explorer.
Primeiramente crie um arquivo .arff com os quatro Exemplos
extras da Tabela 3.16 (basta abrir o arquivo Tabela_do_Tempo.arff no
editor do Weka, fazer as modificaes e salvar com um novo nome, diga
mos Teste.arff).
Carregue no Weka Explorer o Conjunto de Treinamento Tabela_
do_Tempo.arff da forma usual, i.e., clicando no Preprocess da barra
superior e depois em Open file.... A seguir clique em Classify, escolha
em Choose o algoritmo desejado, digamos J48, e em Test options
escolha Supplied test set. Pressionando a tecla Set, aparece a opo
Open file... com a qual possivel carregar o Conjunto de Teste Teste.
arff.
Em More options habilite a opo Output predictions e dispare
o programa com a opo Start. Na seo Classifier output, devem
aparecer as quatro predies buscadas.

Consideraes Finais
A gerao de rvores de Deciso normalmente comparativa
mente mais rpida que outros mtodos de classificao. rvores de
Deciso pequenas so fceis de entender e rvores grandes podem ser
convertidas em Regras de Classificao. Geralmente a taxa de acerto de
classificao de Exemplos de Teste, ou seja, a Acurcia das rvores de
Deciso, compatvel com outros mtodos equivalentes, ou um pouco
abaixo de mtodos mais complexos. Porm, em Aprendizado de Mquina
raramente se encontra um mtodo com desempenho superior que seus
pares para qualquer conjunto de dados.
No foram estudados aqui casos reais de inconsistncias, ausn
cia de dados ou excees na Base de Dados, para citar apenas alguns
dos possiveis problemas. Suponha que durante a induo da rvore
de Deciso dois Exemplos ligeiramente distintos, mas que percorrem o
mesmo caminho, pertenam a classes distintas! Neste caso, verifica-se
que h inconsistncia nos dados e uma anlise pontual dever determi
nar e eliminar o problema. Considere casos reais de Exemplos ausentes
82

Sistemas Inteligentes e Minerao de Dados

representados por caminhos logicamente possiveis, como um dos valo


res possveis que determinado atributo pode assumir, mas que no esto
presentes na Base de Dados. Que classe atribuir a estes casos? Algum
critrio dever ser adotado para estes casos, como o de atribuir o valor
da classe estatisticamente predominante no conjunto de Exemplos.
Alm dessas situaes, h os casos de dados esprios causados
por coleta equivocada, mas com valores lgicos perfeitamente den
tro das possibilidades aceitas para cada atributo, e que no tero sido
detectados na fase inicial de limpeza de dados porque a natureza desses
problemas de incompatibilidade com o modelo gerado ou o conceito
aprendido. O tratamento de problemas desta natureza foge ao escopo
desta primeira abordagem gerao ou induo de rvores de Deciso,
mas tais problemas podem ser estudados na referncia bibliogrfica for
necida na parte final deste material.

Lista de Exerccios
1. Explique com suas prprias palavras a seguinte afirmao:
numa rvore de Deciso, os ns testam Atributos (WITTEN &
FRANK, 2005).
2. Explique com suas prprias palavras, o que superajuste ou
overfitting, seus efeitos e d um exemplo.
3. Carregue o arquivo iris.arff no Weka e elimine os atributos
sepalwidth (largura da spala) e sepallength (comprimento
da spala). Para fazer esta operao, basta selecionar estes dois
atributos no Weka Explorer e depois clicar em Remove. De
vem sobrar apenas trs atributos: petallength (comprimento
da ptala), petalwidth (largura da ptala) e class (classe),
com 150 Exemplos, divididos entre Iris-setosa, Iris-versico
lor e Iris-virginica.
(a) Gere a rvore de Deciso com o algoritmo J4.8, analise a re
presentao grfica da rvore e explique por que esta rvore
de Deciso deve cometer menos erros de classificao que a
rvore de Deciso da Figura 3.2 Modelos Equivalentes: (a)
rvore de Deciso e (b) Regras de Classificao. de nosso ma
terial didtico.

83

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

(b) No Weka Explorer, v em Visualize, ajuste PlotSize e


PointSize, clique em Update e escolha a representao com
os atributos petalwidth e petallength. Analise esta figura
(que deve se parecer Figura 3.1 Representao do Estudo da
Flor ris com Dois Atributos. de nosso material didtico).

Referncia Bibliogrfica
FISHER, R. A. The Use of Multiple Measurements in Taxonomic Problems.
Annals of Eugenics, Vol. 7, Issue 2, pages 179-188, 1936. In http://onlinelibrary.
wiley.com/doi/10.1111/j.1469-1809.1936.tb02137.x/abstract. Acessado em
20.02.2013.
HAN, J. & KAMBER, M. Data Mining: Concepts and Techniques. San Francisco:
Morgan Kaufmann Publishers, 2008.
PINHEIRO, C. A. R. Inteligncia Analtica: Minerao de Dados e Descoberta de
Conhecimento. Rio de Janeiro: Editora Cincia Moderna Ltda., 2008.
QUINLAN, J. R. Induction of Decision Trees. Machine Learning, Vol. 1, No. 1, pp.
81-106. Boston: Kluwer Academic Publishers, 1986.
REZENDE, S.O. (Organizadora). Sistemas Inteligentes: Fundamentos e Aplica
es. Barueri: Editora Manole Ltda., 2005.
ROCHA, M.; CORTEZ, P. & NEVES, J. M. Anlise Inteligente de Dados: Algorit
mos e Implementao em Java. Lisboa: Editora de Informtica, 2008.
TAN, P.N.; STEINBACH, M. & KUMAR, V. Introduo ao Data Mining Minerao
de Dados. Rio de Janeiro: Editora Cincia Moderna Ltda., 2009.
Weka. The Waikato University. In http://www.cs.waikato.ac.nz/ml/weka. Aces
sado em 03.03.13.
WITTEN, I. H. & FRANK, E. Data Mining: Practical Machine Learning Tools and
Techniques. Second Edition. Amsterdam: Morgan Kaufmann Publishers, 2005.

84

Captulo 4 - Classificao e Regras de


Classificao
Introduo
No contexto de Aprendizado de Mquina, a Classificao pressu
pe que um Modelo tenha sido gerado ou induzido a partir de Exemplos
de Treinamento. Com este Modelo, novos Exemplos de Teste podem ser
classificados. A Figura 4.1 ilustra as trs fases desse processo: Treina
mento, Aprendizado e Classificao.

Figura 4.1 Treinamento, Aprendizado e Classificao em um Sistema Inteligente Simples.

H vrias maneiras de representar o conhecimento embutido num


Modelo, sendo as mais comuns rvores de Deciso e Regras de Classifi
cao. As Regras de Classificao assumem a forma genrica:
IF Condio THEN Valor
Sendo Valor um resultado discreto, como sim/no, baixo/
mdio/alto verdadeiro/falso etc. Quando os resultados esperados no

85

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

pertencem a classes discretas, ou seja, quando Valor for uma varivel


real, a classificao recebe o nome de Regresso.
A Classificao atravs de Regras de Classificao e o processo
de gerao automtica de Regras de Classificao sero os temas desta
unidade.

Classificao
O Aprendizado Supervisionado se d atravs de um Algoritmo de
Aprendizado, cuja funo criar uma representao do conhecimento
extraido de um conjunto de Exemplos de Treinamento. H vrias formas
possveis de representao, mas a que nos interessa aqui so as Regras
de Classificao.
Os Exemplos de Treinamento, por sua vez, so uma forma conve
niente de estruturar os dados de uma empresa ou de um certo domnio
do saber. Todos os Exemplos de Treinamento tm o mesmo nmero de
atributos, sendo a diferena entre eles representada pelos valores que
cada atributo assume.
O algoritmo de aprendizado recebe este nome porque ele cria um
modelo cuja aplicao especifica no foi pensada pelo seu projetista.
Ou seja, ele demonstra certa capacidade de adaptao que melhora seu
desempenho depois de uma fase de treinamento. Alguns algoritmos de
aprendizado demonstram a capacidade de aprendizado incremental e
podem ir melhorando seu desempenho com o acmulo de experincia.
Esta capacidade muito apreciada porque concede certa autonomia
aos Sistemas Inteligentes.
Uma equipe de fisicos, engenheiros e cientistas da computao,
responsveis pelo lanamento de sondas espaciais, conseguiu recente
mente desenvolver um algoritmo de aprendizado que permite a uma
sonda espacial sair de sua trajetria para desviar-se de uma possivel coli
so com um meteorito ou cometa inesperado, e retornar rota original.
Alguns robs atualmente conseguem, sem ajuda externa, voltar posi
o vertical depois de uma queda acidental causada por irregularidade
no terreno e continuar normalmente sua tarefa de rotina.

86

Sistemas Inteligentes e Minerao de Dados

Algoritmos de Aprendizado
Um algoritmo de aprendizado pode variar desde aqueles que
simplesmente escolhem um dos atributos do Conjunto de Treinamento
como a resposta possvel a um teste, caso do algoritmo oneR (uma
Regra), passando por aqueles cuja resposta a um novo teste uma com
binao linear dos valores dos atributos, at a utilizao de complicados
modelos no-lineares, como as Redes Neurais, ou o aprendizado esta
tstico das Mquinas de Vetor de Suporte, ou Support Vector Machines,
SVM.
A finalidade desta unidade no estudar detalhadamente algo
ritmos de aprendizado. Como h um grande nmero de ferramentas de
acesso livre que implementam estes algoritmos, nosso objetivo pas
sar uma ideia geral do funcionamento desses algoritmos, cujo enten
dimento indispensvel para o ajuste adequado de seus parmetros e
para a correta interpretao de seus resultados.

Algoritmo oneR ou 1R (uma Regra)


possivelmente o Algoritmo de Aprendizado para classificao
mais simples e, no entanto, seu desempenho pode ser surpreendente
mente bom, dependendo da Base de Dados (WITTEN & FRANK, 2005).
Esse algoritmo aposta na hiptese de que basta consultar apenas um
dos atributos para classificar corretamente os Exemplos de Teste. A
tarefa ento do algoritmo encontrar durante o treinamento o atributo
que apresenta a menor taxa de erros de classificao.
O algoritmo oneR tem bom desempenho para Bases de Dados
em que um dos atributos claramente mais importante que o restante,
porque seus valores quase sempre daro uma pista de qual deve ser a
classificao correta. Para Bases de Dados em que todos os atributos
contribuem com igual peso na resposta, a taxa de acerto do algoritmo
tende a ser inversamente proporcional ao nmero de atributos.
Para compreendermos como o oneR calcula a taxa de erros de cada
atributo, vamos utilizar a clssica Tabela do Tempo, criada por (QUIN
LAN, 1986), e reproduzida na Tabela 4.1.

87

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli


Tabela 4.1 - Tabela do Tempo.

Dia
Ensolarado
Ensolarado
Nublado
Chuvoso
Chuvoso
Chuvoso
Nublado
Ensolarado
Ensolarado
Chuvoso
Ensolarado
Nublado
Nublado
Chuvoso

Temperatura
Elevada
Elevada
Elevada
Amena
Baixa
Baixa
Baixa
Amena
Baixa
Amena
Amena
Amena
Elevada
Amena

Umidade
Alta
Alta
Alta
Alta
Normal
Normal
Normal
Alta
Normal
Normal
Normal
Alta
Normal
Alta

Vento
Falso
Verdadeiro
Falso
Falso
Falso
Verdadeiro
Verdadeiro
Falso
Falso
Falso
Verdadeiro
Verdadeiro
Falso
Verdadeiro

Partida
No
No
Sim
Sim
Sim
No
Sim
No
Sim
Sim
Sim
Sim
Sim
No

Primeiramente isolamos um dos atributos, digamos Dia, e veri


ficamos qual a distribuio das classes Sim e No no atributo de
saida Partida.
Tabela 4.2 - Relao entre Dia e Partida.

Dia
Ensolarado
Ensolarado
Ensolarado
Ensolarado
Ensolarado
Nublado
Nublado
Nublado
Nublado
Chuvoso
Chuvoso
Chuvoso
Chuvoso
Chuvoso

Partida
Sim
Sim
No
No
No
Sim
Sim
Sim
Sim
Sim
Sim
Sim
No
No

Vamos considerar como sucesso a classe (Sim ou No) que


aparecer com maior frequncia, i.e., a maioria, para cada uma das
opes possiveis (Ensolarado, Nublado, Chuvoso) do atributo
Dia, e como erro a menos frequente. Ento uma inspeo na Tabela
4.2 mostra a seguinte distribuio:
88

Sistemas Inteligentes e Minerao de Dados


Tabela 4.3 Taxa de Erros do Atributo Dia.

Valor do
Atributo
Ensolarado
Nublado
Chuvoso

Exemplos com
Exemplos com
Maioria
Partida=No
Partida=Sim
3
2
No
0
4Sim
2
3
Sim
Total de Erros

Erros
2/5
0/4
2/5
4/14

Com base na Tabela 4.3 j podemos gerar algumas regras de clas


sificao iniciais:
Dia(Ensolarado) Partida=No ou IF Dia=Ensolarado THEN Partida=No (R 4.1)
Dia(Nublado) Partida=Sim

ou IF Dia=Nublado THEN Partida=Sim

(R 4.2)

Dia(Chuvoso) Partida=Sim

ou IF Dia=Chuvoso THEN Partida=Sim

(R 4.3)

Os resultados mostram que em dia ensolarado no h partidas,


possivelmente por se tratar de um esporte em quadra coberta e talvez
porque os participantes prefiram neste tipo de dia outra atividade a cu
aberto. Convm ressaltar que este conjunto de regras baseadas unica
mente no atributo Dia apresenta uma taxa de erros de 4 em 14, ou
4/14. Vamos reproduzir a tabela de (WITTEN & FRANK, 2005) que aplica
o mesmo procedimento para os outros atributos e ver se algum deles
apresenta uma taxa de erros menor.
Tabela 4.4 Taxa de Erros dos Atributos.

Atributo
Dia

Temperatura

Umidade
Vento

Regras
Ensolarado No
Nublado Sim
Chuvoso Sim
Elevada No
Amena Sim
Baixa Sim
Alta No
Normal Sim
Falso Sim
Verdadeiro No

Erros
2/5
0/4
2/5
2/4
2/6
1/4
3/7
1/7
2/8
3/6

Total de Erros
4/14

5/14

4/14
5/14

A Tabela 4.4 revela que os atributos Dia e Umidade apresen


tam as menores taxas de erros. Adotando qualquer critrio arbitrrio de
desempate, vamos ficar com o conjunto de erros gerados pelo atributo
Umidade e gerar as seguintes Regras de Classificao:
89

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli


Umidade(Alta) Partida=No

ou IF Umidade=Alta THEN Partida=No

Umidade(Normal) Partida=Sim ou IF Umidade=Normal THEN Partida=Sim

(R4.4)
(R 4.5)

Portanto, quando o algoritmo oneR tiver que classificar um novo


exemplo, somente o atributo Umidade ser considerado, e o resultado
ser baseado nas Regras de Classificao R 4.4 e R 4.5. Isso significa
que se os Exemplos de Treinamento forem usados como Exemplos de
Teste, e supondo que entre os 14 Exemplos de Treinamento no haja
contradio entre si, o algoritmo oneR deve acertar 10 vezes e errar 4.
Mas, e se o Conjunto de Teste for diferente do Conjunto de Treina
mento? No ser a estimativa de 10 acertos e 4 erros demasiadamente
otimista ou ela se confirmar com os novos dados? E se o nmero de
Exemplos de Treinamento tivesse sido 140, em vez de 14, que implica
es isso teria nas estimativas de acertos?
H outros algoritmos de classificao bem mais refinados que o
oneR e que, na maioria dos casos, produzem resultados com taxa de
sucesso mais elevada. Um dos algoritmos de classificao mais famo
sos o PRISM (CENDROWSKA, 1987), que utiliza o principio de cober
tura, i.e., ele vai criando regras que se aplicam ao maior nmero pos
sivel de exemplos do Conjunto de Treinamento, at que toda a tabela
esteja coberta pelas regras produzidas. Seu desenvolvimento foi
inspirado nos pontos fracos do algoritmo de induo de rvores de
Deciso ID3 (QUINLAN, 1986), como a dificuldade de entender as rvo
res muito grandes e complexas geradas pelo algoritmo ID3.
No vamos aqui nos deter em particularidades do PRISM porque
os resultados gerados pelo oneR so suficientemente representativos
para os nossos propsitos de abordar os mtodos de avaliao dos
resultados produzidos pelo modelo induzido. E ao avaliarmos os resulta
dos, estamos de certa forma avaliando a capacidade de predio de um
modelo para determinada Base de Dados.
Abordar um modelo pelo seu desempenho interessante porque
h evidncias empiricas de que nenhum algoritmo tem desempenho
superior aos demais para qualquer Base de Dados. A estrutura interna
do conjunto de dados desempenha um papel decisivo no desempenho
do algoritmo e na qualidade dos resultados.

90

Sistemas Inteligentes e Minerao de Dados

O algoritmo oneR, com toda sua simplicidade, pode ser imbativel


para uma Base de Dados que tenha um atributo que se destaque sobre
os demais, cujos valores so redundantes ou irrelevantes. E pode ser
uma catstrofe para uma Base de Dados constituda por centenas ou
milhares de atributos, todos igualmente importantes. Da mesma forma,
qualquer algoritmo pode ter uma taxa de sucesso baixa se o Conjunto
de Treinamento no constituir uma amostra representativa do universo
de teste.

Avaliao dos Resultados


Aps o treinamento para gerar um Modelo atravs do Algoritmo
de Aprendizado, de grande importncia fazer uma avaliao do desem
penho do modelo. Em outras palavras, interessa saber quo preditivo
o Modelo Aprendido. H vrias metodologias consagradas para este fim.
Vamos iniciar nossa abordagem ao tema relembrando a Acurcia de um
Classificador Binrio.
Considere que nosso Classificador Binrio esteja sendo usado para
fazer um diagnstico mdico. Se as respostas possveis para este diag
nstico forem Positivo e Negativo, quatro possibilidades de predio
podem ocorrer:
1. Se o paciente for portador de uma doena e o Classificador
acertar no diagnstico, dizemos que este caso um Verdadeiro
Positivo ou VP;
2. Se o paciente no for portador da doena e o Classificador acer
tar no diagnstico, dizemos que este caso um Verdadeiro Ne
gativo ou VN;
3. Se o paciente for portador da doena, mas o Classificador errar
no diagnstico indicando que ele est so, dizemos que este
caso um Falso Negativo ou FN;
4. Se o paciente no for portador da doena, mas o Classificador
errar no diagnstico indicando que ele est doente, dizemos
que este caso um Falso Positivo ou FP.
Essas quatro combinaes de resultados esto representadas na
Matriz de Confuso mostrada na Tabela 4.5.

91

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli


Tabela 4.5 Matriz de Confuso.

Positivo Previsto

Negativo Previsto

Positivo Real

Verdadeiro Positivo (VP)

Falso Negativo (FN)

Negativo Real

Falso Positivo (FP)

Verdadeiro Negativo (VN)

A Preciso ou Acurcia do Classificador se expressa pelo nmero


de classificaes corretas (VP+VN) divididas pelo nmero total de classi
corretas(VP+VN+FP+FN),
(VP+VN)divididas pelo nmero total de classificaes (VP+VN+FP+FN),
ficaes

Ocorre que em situaes reais o custo de um Falsode


Positivo pode no ser igual ao

Ocorre que em situaes reais o custo


um Falso Positivo pode
no ser igual ao de um Falso Negativo, e a Acurcia no consegue captar
adequadamente essa situao de interesse.
Suponha que um classificador usado para Deteco de Ano
malia tenha que atribuir a cada um dos 100 testes um rtulo de
Situao=Normal ou Situao=Anormal. Suponha ainda que a rela
o entre donos honestos de carto de crdito e golpistas seja de 96
para 4 e o classificador tenha colocado 99 portadores de carto na classe
Normal e apenas um dos golpistas na classe Anormal. Neste caso a
norm do
. Nstso
do C ss f dor s r d ,
Acurcia
Classificador ur
ser de,

A interpretao baseada apenas na Acurciana


indicaria um excelente desempenho,

A interpretao baseada apenas


Acurcia indicaria um exce
lente desempenho, mas na realidade este um pssimo classificador
para uma operadora de cartes de crdito, porque seu interesse em
detectar os golpistas bem maior do que os donos honestos de carto!
H um sem nmero de situaes semelhantes a esta. Pense nos danos
diferenciados, do ponto de vista de sade pblica, entre fornecer um
falso diagnstico positivo para um paciente so e um falso diagnstico
negativo para um paciente com uma doena contagiosa.
Para detectar estes casos de conjuntos no-balanceados de Falso
Positivo e Falso Negativo, podemos definir a Taxa de Verdadeiro Nega
tivo, tambm conhecida por Especificidade, como sendo o nmero de

92

Sistemas Inteligentes e Minerao de Dados

Verdadeiro Negativo (VN) dividido pelo nmero total de negativos, que


Positivo
(FP),ouseja,Negativo (VN) mais Falso Positivo (FP), ou seja,
de Verdadeiro
Falso
a soma

Se o Se
indicador
o indicador
TaxadeTaxa
Verdadeiro
de Verdadeiro
Negativo forutilizado
Negativo for
parautilizado
ocaso citado
parados
o

caso
citado dos cartes de crdito, teremos uma Taxa de Verdadeiro
cartes de crdito, teremos uma Taxade Verdadeiro Negativo de,
Negativo de,

situaes,
mais conveniente
utilizar
a Taxa
Para Para
outrasoutras
situaes,
podeserpode
mais ser
conveniente
utilizaraTaxa
de Verdadeiro
de Verdadeiro Positivo , tambm conhecida por Sensibilidade, como
sendo o nmero de Verdadeiro Positivo (VP) dividido pelo nmero total
de positivos, que a soma de Verdadeiro Positivo (VP) mais Falso Nega
Verdadeiro
tivo
(FN), ouPositivo
seja, (VP) mais Falso Negativo (FN), ou seja,

Com Com
estesestes
indicadores
indicadores
em mente,
em mente,
suponhasuponha
quese queira
que se
avaliarqual
queira avaliar
ser o

qual ser o desempenho do Modelo gerado pelo Algoritmo de Apren


dizado para determinada Base de Dados. Se utilizarmos o mesmo Con
junto de Treinamento como Conjunto de Teste, muito possivelmente a
estimativa de desempenho resultar excessivamente otimista para tes
tes reais, com novos Conjuntos de Teste.
Outra alternativa reservar parte do Conjunto de Treinamento
para ser usada como Conjunto de Teste. Mas qual o tamanho ideal da
partio do conjunto de Exemplos de Treinamento? E como escolher os
elementos deste subconjunto do Conjunto de Treinamento que sero
usados para teste? E se o Conjunto de Teste for muito pequeno? Feliz
mente a Estatistica tem estudos bastante robustos sobre questes dessa
natureza que podem nos auxiliar.

Avaliao de Desempenho do Classificador


As duas tcnicas citadas, conhecidas como Tcnica de Ressubsti
tuio e Tcnica de Reamostragem, apresentam pontos fortes e fracos,
e justificam a criao de vrios mtodos de avaliao de desempenho

93

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

de classificadores. Vamos analisar apenas alguns dos principais mtodos


de avaliao de desempenho.

Mtodo da Ressubstituio ou Use training set


Neste mtodo o Conjunto de Treinamento tambm utilizado
como Conjunto de Teste, conforme mostra a Figura 4.2. Se o Conjunto de
Treinamento for uma amostra representativa do universo do problema,
suas estimativas de desempenho para um Conjunto de Teste composto
por Exemplos no vistos anteriormente podem ser muito boas. Caso
contrrio, o modelo poder apresentar muitos erros de generalizao
durante os testes, seja por problemas de excesso de complexidade do
Modelo, que costuma causar overfitting, ou por Poda inadequada.
Por outro lado, o fato de o conjunto completo de treinamento ser
usado para gerar o Modelo constitui uma vantagem sobre os mtodos
de reamostragem, principalmente se o nmero de Exemplos de Treina
mento for pequeno.
Conjunto de Treinamento

Conjunto de Teste
Figura 4.2 Na Ressubistituio, o Conjunto de Treinamento tambm o Conjunto de Teste.

De fato, na simulao Weka da Tabela do Tempo (Tabela 4.1) com


o algoritmo oneR usando o mtodo Use training set, o nmero de ins
tncias ou exemplos classificados corretamente foi 10 (71%), e 4 (29%)
classificados incorretamente, conforme esperado. A Matriz de Confuso
para os 14 Exemplos est mostrada na Tabela 4.6.
Tabela 4.6 Matriz de Confuso para a Tabela do Tempo com o oneR e o Mtodo Use training set.

94

No Previsto

Sim Previsto

No Real

Sim Real

Sistemas Inteligentes e Minerao de Dados

Quando repetimos os mesmos procedimentos, porm usando o


algoritmo PRISM, os resultados foram os seguintes: simulao Weka da
Tabela do Tempo (Tabela 4.1) com o algoritmo PRISM usando o mtodo
Use training set, o nmero de instncias ou exemplos classificados
corretamente foi 14 (100%), e 0 (0%) classificados incorretamente. A
Matriz de Confuso para os 14 Exemplos est mostrada na Tabela 4.7.
Tabela 4.7 Matriz de Confuso para a Tabela do Tempo com o PRISM e o Mtodo Use training set.

No Previsto

Sim Previsto

No Real

Sim Real

Mtodo da Diviso da Amostra ou Holdoutou Percentage Split


Consiste na diviso dos Exemplos de Treinamento em dois subcon
juntos disjuntos, um para Treinamento, outro para Teste, conforme mos
tra a Figura 4.3. O valor das porcentagens de cada um dos conjuntos
geralmente expresso numa nica porcentagem maior que 50%, estando
subentendido que o conjunto menor o complemento para 100%. O
valor de diviso mais comum 66% para Treinamento e 34% para Teste,
embora no haja evidncias empiricas que justifiquem essa escolha de
2/3 e 1/3.
Sua vantagem a simplicidade, mas dependendo da composio
obtida, as classes dos Exemplos podem no estar igualmente represen
tadas nos dois conjuntos. Outra limitao desse mtodo est no fato
de que menos Exemplos so usados no Treinamento, podendo ter um
impacto negativo no desempenho do Modelo induzido.
Conjunto de Treinamento

Conjunto de Teste

Figura 4.3 No Holdout, os Exemplos de Treinamento so Divididos em Dois Subconjuntos.

Para Conjuntos de Teste excessivamente pequenos, dividir o j


escasso nmero de Exemplos de Teste pode ter um efeito desastroso
ou na gerao do Modelo ou na sua avaliao de desempenho. De fato,
na simulao Weka da Tabela do Tempo com o algoritmo oneR usando
o mtodo da Percentage Split, com o Conjunto de Treinamento
95

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

correspondendo a 66% dos Exemplos, o nmero de instncias ou exem


plos classificados corretamente foi 2 (40%), e 3 (60%) classificados incor
retamente!. A Matriz de Confuso para os 5 Exemplos considerados est
mostrada na Tabela 4.8.
Tabela 4.8 Matriz de Confuso para a Tabela do Tempo com o oneR e o Mtodo da Percentage Split.

No Previsto

Sim Previsto

No Real

Sim Real

Quando repetimos os mesmos procedimentos, porm usando o


algoritmo PRISM, os resultados foram os seguintes: simulao Weka da
Tabela do Tempo com o algoritmo PRISM usando o mtodo Percentage
split, com o Conjunto de Treinamento correspondendo a 66% dos Exem
plos, o nmero de instncias ou exemplos classificados corretamente foi
4 (80%), e 1 (20%) classificado incorretamente. A Matriz de Confuso
para os 5 Exemplos est mostrada na Tabela 4.9.
Tabela 4.9 Matriz de Confuso para a Tabela do Tempo com o PRISM e o Mtodo Use training set.

No Previsto

Sim Previsto

No Real

Sim Real

Mtodo da Validao Cruzada ou Cross-validation


Neste mtodo, os Exemplos de Treinamento so aleatoriamente
divididos em k parties mutuamente exclusivas ou folds, sendo k nor
malmente igual a 10. A Figura 4.4 mostra um exemplo para k = 4, ou
seja, 3/4 dos Exemplos de Treinamento so usados para Treinamento e
1/4 dos Exemplos de Treinamento so reservados para a fase de Teste.
A cada iterao um desses folds ser usado como Conjunto de
Teste, enquanto que os outros sero usados para Treinamento. O nome
de validao cruzada se justifica ento pelo fato de que cada fold ser
usado (k-1) vezes para Treinamento e uma vez para Teste. O erro total
ser a soma dos erros de todas as k execues, enquanto que o erro
mdio o erro total dividido pelo nmero k de parties.
96

Sistemas Inteligentes e Minerao de Dados

Iterao 1

Treinamento
Conjunto de

Treinamento
Conjunto de

Treinamento
Conjunto de

Conjunto
de Teste

Iterao 2

Treinamento
Conjunto de

Treinamento
Conjunto de

Conjunto
de Teste

Conjunto de
Treinamento

Iterao 3

Treinamento
Conjunto de

Conjunto
de Teste

Treinamento
Conjunto de

Conjunto de
Treinamento

Iterao 4

Conjunto
de Teste

Treinamento
Conjunto de

Treinamento
Conjunto de

Conjunto de
Treinamento

Figura 4.4 Na Validao Cruzada, o Conjunto de Treinamento Dividido em k Parties.

De fato, na simulao Weka da Tabela do Tempo com o algoritmo


oneR usando o mtodo da Cross-validation, com k = 10 folds, o nmero
de instncias ou exemplos classificados corretamente foi 5 (36%), e 9
(66%) classificados incorretamente!. A Matriz de Confuso para os 14
Exemplos considerados est mostrada na Tabela 4.10.
Tabela 4.10 Matriz de Confuso para a Tabela do Tempo com o oneR e o Mtodo da Cross-validation.

No Previsto

Sim Previsto

No Real

Sim Real

Na simulao Weka da Tabela do Tempo com o algoritmo PRISM


usando o mtodo da Cross-validation, com k = 10 folds, o nmero
de instncias ou Exemplos classificados corretamente foi 12 (86%), e 0
(0%) classificados incorretamente! (com 3 Exemplos no classificados).
A Matriz de Confuso para os Exemplos considerados est mostrada na
Tabela 4.11.
Tabela 4.11 - Matriz de Confuso para a Tabela do Tempo com o PRISM e o Mtodo da Cross-validation.

No Previsto

Sim Previsto

No Real

Sim Real

97

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Mtodo Deixe-Um-De-Fora ou Leave-One-Out


um caso especial do Mtodo da Validao Cruzada em que o
nmero de parties k igual ao nmero de Exemplos N, isto , k =
N, e cada partio composta por apenas um Exemplo, como mostra
a Figura 4.5. A vantagem que mais dados so usados para o Treina
mento, mas a desvantagem seu custo computacional para os casos em
que N for muito grande.

Iterao 1

Conjunto de Treinamento

Iterao 2

Iterao H

Conjunto de Treinamento

Conjunto de Treinamento

Iterao N

Conjunto de Treinamento

Conjunto de Treinamento

Figura 4.5 No Leave-One-Out, o Conjunto de Treinamento Dividido em NParties.

Na simulao Weka da Tabela do Tempo com o algoritmo oneR


usando o mtodo da Cross-validation, com k = 14 folds, nmero
idntico ao de Exemplos ou instncias, portanto k = N, o resultado da
classificao foi idntico ao da Cross-validation, sendo o nmero de
Exemplos classificadas corretamente 5 (36%), e 9 (66%) classificados
incorretamente!. A Matriz de Confuso para os 14 Exemplos considera
dos est mostrada na Tabela 4.12.
Tabela 4.12 Matriz de Confuso para a Tabela do Tempo com o oneR e o Mtodo da Leave-one-out.

98

No Previsto

Sim Previsto

No Real

Sim Real

Sistemas Inteligentes e Minerao de Dados

Repetindo o mesmo Conjunto de Teste, porm com o Algoritmo


PRISM, usando o mtodo da Cross-validation, com k = 14 folds, o
resultado da classificao foi idntico ao da Cross-validation, sendo o
nmero de Exemplos classificadas corretamente 11 (79%), 0 (0%) classi
ficados incorretamente e 3 Exemplos no classificados. A Matriz de Con
fuso para os 11 Exemplos considerados est mostrada na Tabela 4.13.
Tabela 4.13 Matriz de Confuso para a Tabela do Tempo com o oneR e o Mtodo da Leave-one-out.

No Previsto

Sim Previsto

No Real

Sim Real

Nesta srie de simulaes, o algoritmo PRISM produziu um classi


ficador com melhor desempenho que o classificador do algoritmo oneR
para o mesmo Conjunto de Treinamento.

Consideraes Finais
Nesta unidade, vimos um algoritmo simples, conhecido como
oneR, usado para gerar Regras de Classificao. Outros algoritmos mais
refinados usam princpios mais complexos, como o de cobertura, para
produzir Regras de Classificao (caso do PRISM).
Foram apresentados alguns indicadores que auxiliam o usurio a
decidir se os resultados obtidos so satisfatrios ou no. Tambm foram
apresentados alguns mtodos para estimar o desempenho futuro do
classificador em situao de testes reais.
Duas simulaes comparativas entre o desempenho do algoritmo
oneR e PRISM para a Tabela do Tempo foram apresentadas para ajudar a
fixar os conceitos aprendidos.

Lista Exerccios
1. Explique com suas prprias palavras as vantagens e desvanta
gens das rvores de Deciso e Regras de Classificao.
2. Explique com suas prprias palavras os Mtodos Cross-valida
tion e Holdout.

99

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

3. Carregue o arquivo iris.arff (anexo) no Weka e faa a Classifi


cao usando o algoritmo oneR, com o mtodo Cross-vali
dation (10 Folds).
(a)Faa uma anlise da Matriz de Confuso gerada, reproduzindo
os valores obtidos na simulao.
(b)Ainda com base nos resultados da simulao no Weka, explique
com suas prprias palavras por que a classe Iris Setosa tem
a mais alta taxa de Verdadeiro Positivo (TP Rate), enquanto
que a Iris Versicolor, a mais baixa (consulte a Figura 3.1 do
Capitulo 3).

Referncia Bibliogrfica
CENDROWSKA, J. PRISM: An Algorithm for Inducing Modular Rules. Interna
tional Journal of Man-Machine Studies. Vol. 27, pp. 349-370, 1987. In http://
sci2s.ugr.es/keel/pdf/algorithm/articulo/1987-Cendrowska-IJMMS.pdf. Aces
sado em 06.03.2013.
QUINLAN, J. R. Induction of Decision Trees. Machine Learning, Vol. 1, No. 1, pp.
81-106. Boston: Kluwer Academic Publishers, 1986.
REZENDE, S.O. (Organizadora). Sistemas Inteligentes: Fundamentos e Aplica
es. Barueri: Editora Manole Ltda, 2005.
ROCHA, M.; CORTEZ, P. & NEVES, J. M. Anlise Inteligente de Dados: Algorit
mos e Implementao em Java. Lisboa: Editora de Informtica, 2008.
TAN, P.N.; STEINBACH, M. & KUMAR, V. Introduo ao Data Mining Minerao
de Dados. Rio de Janeiro: Editora Cincia Moderna Ltda., 2009.
WITTEN, I. H. & FRANK, E. Data Mining: Practical Machine Learning Tools and
Techniques. Second Edition. Amsterdam: Morgan Kaufmann Publishers, 2005.

100

Captulo 5 - Mquina de Vetores de


Suporte ou Support Vector Machine
Introduo
Nas unidades anteriores, foi usado o recurso de representar um
Exemplo de Treinamento por um ponto num plano cartesiano, como
no caso da flor ris (Figura 5.1). As Regras de Classificao, por sua vez,
eram representadas por retas tracejadas e ilustravam como o Modelo
Aprendido classificava os Exemplos.

Figura 5.1 Representao de Exemplos de Treinamento no Plano Cartesiano.4

Tanto as Regras de Associao e Classificao quanto as rvores


de Deciso podem ser vistas como representantes de um paradigma
de aprendizado supervisionado denominado Aprendizado Orientado a
Conhecimento, porque so de fcil compreenso e utilizao pelos seres
humanos. Outro nome que se d a este tipo de aprendizado Paradigma
4 Fonte: http://en.wikipedia.org/wiki/File:Iris_virginica.jpg (Acessado em 19.02.13).
Fonte: http://en.wikipedia.org/wiki/File:Kosaciec_szczecinkowaty_Iris_setosa.jpg (Acessado em 19.02.13).
Fonte: http://en.wikipedia.org/wiki/File:Iris_versicolor_3.jpg. (Acessado em 19.02.13).

101

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

de Aprendizado Simblico, porque ele cria Representaes Simblicas


do Modelo gerado, tais como rvores de Deciso, Regras etc.
Vamos agora estudar um novo paradigma de aprendizado super
visionado, conhecido como Paradigma de Modelos Funcionais, que em
geral apresenta resultados com melhor preciso que os representantes
do paradigma Orientado a Conhecimento, mas que para entender como
se chegou a determinado resultado h que ter um certo preparo em
matemtica. Este tipo de aprendizado tambm conhecido como Para
digma do Aprendizado Estatstico, porque ele utiliza Modelos Estats
ticos para guiar a gerao do Modelo induzido durante o treinamento.
Como o escopo desta unidade no a apresentao da teoria
matemtica dessa classe de algoritmos, vamos reduzir a um mnimo as
dedues matemticas e nos valer de ilustraes grficas e interpreta
es geomtricas das ideias fundamentais deste interessante tpico.
Dois dos algoritmos de aprendizado supervisionado mais popula
res dos Modelos Funcionais, so as Redes Neurais5 ou Neural Networks,
e as Mquinas de Vetores de Suporte (MVS) ou Support Vector Machine
(SVM). A teoria matemtica sobre as Mquinas de Vetores de Suporte
foi apresentada comunidade cientifica por (CORTES & VAPNIK, 1995),
em meados da dcada de 1990, e desde ento suas implementaes
algortmicas tm produzido resultados animadores para o problema do
reconhecimento de padres em Bases de Dados.

Representao dos Exemplos como Vetores


Nesta introduo a Mquinas de Vetores de Suporte (MVS),
vamos passar a representar um Exemplo de Treinamento por um vetor,
e o Modelo Aprendido, por outro vetor, chamado de Vetor Peso w. Qual
a vantagem dessa forma de representao? A vantagem que para clas
sificar um Exemplo, bastar fazer o produto de dois vetores, algo com
putacionalmente simples. No contexto de classificao com MVS, mos
traremos que o resultado dessa multiplicao ser sempre ou +1 ou
-1. Dessa forma, por meio da operao de produto interno entre dois

5 Em ingls, o termo neural usado tanto para tpicos do sistema nervoso quanto para neurnios. Em portugus, no entanto, temos dois
adjetivos distintos: neuronal e neural, sendo este ltimo relacionado a nervos e ao sistema nervoso em geral. Como a inspirao inicial para as
neural networks foram os neurnios, a traduo mais adequada para o portugus deveria ser redes neuronais, mas como redes neurais
acabou prevalecendo, vamos manter esta terminologia.

102

Sistemas Inteligentes e Minerao de Dados

vetores, os Exemplos de Teste sero classificados como pertencentes ou


classe y = +1 ou y = -1.
Embora o algoritmo de aprendizado de um Modelo Funcional seja
bem diferente daqueles algoritmos de aprendizado Orientado a Conhe
cimento, a formalizao do problema da classificao continua a mesma.
Em termos prticos, estamos simplesmente substituindo um mdulo de
classificao por outro, que desempenha a mesma funo, possivel
mente de forma mais complexa, porm com melhores resultados para
muitos casos.
Um classificador binrio equivalente a uma funo que faz o
mapeamento de um conjunto de atributos de entrada, agora represen
tados por um vetor X, em uma das classes y = +1 ou y = -1. Em
umd matemticos,
ssssy= +1 ou y = -1. Em termos matemticos,
termos
(5.1)
Por exemplo,num
umponto,um
pode ser descrito
tanto
Por exemplo,plano
num cartesiano,
plano cartesiano,
um ponto
ponto
pode
podeser
serde

porum vetor.
Porvetor.
esta razo
descrito tanto por suas coordenadas (x1, x2),o quanto
por um
Por
esta razo, daqui para frente, em vez de utilizarmos o termo Exemplos
de Treinamento, vamos falar em Vetores de Treinamento (cuja ilustrao
aparece na Figura 5.2). Da mesma forma, falaremos em Vetores de Teste
em vez de Exemplos de Teste.
Para efeito didtico, consideraremos um ponto no plano ou um
vetor como representaes equivalentes, e usaremos sempre a repre
sentao mais conveniente para o argumento em questo.
Por opo metodolgica, vamos comparar as MVS com as Redes
Neurais, com o propsito de mostrar como algumas das dificuldades
mais srias apresentadas pelas Redes Neurais tm sido superadas com as
MVS. Mas, aproveitamos para reafirmar uma constatao empirica men
cionada em outra unidade de que em Minerao de Dados no existe
um algoritmo que sempre mostre desempenho superior aos demais
para qualquer Base de Dados. Muitos autores consideram a Minerao
de Dados mais uma arte que uma cincia, porque via de regra preciso
certo traquejo do operador e uma boa dose de experimentos empiricos
para melhorar os resultados prticos.

103

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Alis, um dos objetivos deste livro de Sistemas Inteligentes, e


especialmente desta unidade, propiciar experincias que favoream
o desenvolvimento da sensibilidade indispensvel a um usurio compe
tente da Minerao de Dados.

Figura 5.2 Representao de Vetores de Treinamento no Plano Cartesiano.

Classificadores Lineares
Vamos voltar ao conjunto de dados da flor ris, porque este exem
plo clssico apresenta situaes tpicas de um problema de classificao
real. Olhando a Figura 5.1, nota-se que no h qualquer dificuldade para
distinguir a ris Setosa das ris Versicolor e Virginica. Mas a situao
bem diferente quando consideramos a ris Versicolor com a Virginica,
porque h uma regio comum a ambas. Encontrar um classificador que
separe linearmente estes dois tipos de ris constitui uma tarefa nada
simples.

104

Sistemas Inteligentes e Minerao de Dados

Vamos ento dividir o problema em duas partes e considerar ini


cialmente apenas os tipos Setosa e Versicolor, j que a separao entre
ambas parece ser bem mais simples. Com os resultados obtidos para os
casos linearmente separveis, vamos estend-los aos casos no separ
veis linearmente, com algumas adaptaes.
A Figura 5.3 apresenta os dados apenas da ris Setosa e Versicolor,
com vrios classificadores possiveis. Qual deles devemos escolher?

Figura 5.3 Qual Classificador Escolher?

Talvez antes de dar uma resposta a esta pergunta, seria oportuno


colocar outra questo ainda mais bsica. Por que tentar fazer a separa
o entre as classes usando uma reta e no uma curva que se adapte aos
dados? Porque usar uma reta, ou uma funo linear para separar classes
matematicamente menos custoso do que outras formas de curvas, ou
funes polinomiais, alm de tornar o problema do overfitting menos
provvel. A equao de uma reta exige um tratamento matemtico sim
ples, resultando num custo computacional mais baixo do que o custo
dos polinmios de grau maior ou igual a dois.
105

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Dentre todas as possibilidades, o classificador azul parece ser o


menos indicado porque ele comete vrios erros de classificao durante
o treinamento. Seu poder de generalizao j se mostra antecipada
mente comprometido. Mas dentre os restantes, qual deles vai apresen
tar o melhor desempenho na fase de teste? Ou seja, qual deles tem a
melhor capacidade de generalizao? Ser este o melhor critrio a utili
zar para escolher um classificador?
Em outros algoritmos de Aprendizado Supervisionado de Classifi
cadores Lineares, como o Perceptron6 (ROSENBLATT, 1957), os trs clas
sificadores da Figura 5.3 que no cometem erros de classificao durante
o treinamento seriam considerados igualmente bons. Alis, como na res
posta do Perceptron, e das Redes Neurais em geral, h um componente
probabilstico, em cada simulao com o mesmo conjunto de Vetores de
Treinamento, qualquer uma das trs retas poderia ser escolhida alter
nadamente como o classificador linear. Para o Perceptron, desde que
um classificador linear faa a separao das classes sem cometer erros
durante o treinamento, ele to bom quanto seus pares que mostrarem
o mesmo resultado.
Para as MVS, no entanto, que utilizam um algoritmo determins
tico, existe um classificador considerado melhor que todos os demais,
porque ele possivelmente vai minimizar os erros de classificao na fase
de teste. E este classificador o que maximiza suas margens, tornando
-as as mais largas possveis antes de tocar os primeiros pontos do plano,
que representam os Vetores de Suporte (Figura 5.4). Note que o vetor
peso w, tambm conhecido como vetor normal w, perpendicular
reta que representa o classificador. Portanto, conhecendo-se o vetor w,
a inclinao do classificador estar determinada.
Note que o classificador vermelho da Figura 5.3, por exemplo, tam
bm separaria sem erros as duas classes, mas suas margens no seriam
to largas quanto as mostradas na Figura 5.4. E como encontrar este
classificador que maximiza as margens? Primeiramente considerando o
conjunto de pontos como um Conjunto Convexo, e depois encontrando
a menor distncia entre eles. A reta de separao, i.e., o classificador,
perpendicular ao menor segmento que une os dois conjuntos.

6 O Perceptron um tipo de Rede Neural simples, com apenas uma camada de neurnios.

106

Sistemas Inteligentes e Minerao de Dados

Figura 5.4 - Nas MVS, o Melhor Classificador Possui Margem Mxima.

Conjunto Convexo
Se conectarmos cada ponto de um conjunto aos demais pontos
restantes, o polgono externo que resulta ser um polgono convexo, e
o conjunto de pontos delimitados por este poligono ser chamado de
conjunto convexo.
A Figura 5.5 mostra como as duas classes de Vetores de Treina
mento podem ser representadas por dois conjuntos convexos (com
as conexes dos pontos internos omitidas para tornar mais clara a
apresentao).

107

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Figura 5.5 Representao das Classes como Conjuntos Convexos.

A vantagem de se considerar as classes como se fossem dois con


juntos convexos que na busca pelo menor segmento que une estes
dois conjuntos, no ocorre o problema do mnimo local. Enquanto a dis
tncia entre ambos estiver diminuindo, a direo seguida estar correta.
A analogia para este procedimento que o Algoritmo de Apren
dizado pode ser visto como um mtodo de otimizao7 de uma Funo
Custo. A cada iterao do processo de aprendizado a Funo Custo
avaliada e, se seu valor decrescer, os pesos do vetor peso w so atualiza
dos. O processo continua at encontrar o valor minimo.
Esta forma de otimizao produz bons resultados quando a Funo
Custo no apresenta minimos locais, i.e., quando h apenas um mnimo
global. No caso das Redes Neurais, geralmente a Funo Custo apre
senta mnimos locais, o que obriga a adoo de mecanismos mais com
plexos de otimizao, como manter alguns registros do que se acredita

7 Este mtodo conhecido como Otimizao Convexa.

108

Sistemas Inteligentes e Minerao de Dados

ser o mnimo global atual, e continuar atualizando os pesos do vetor w


mesmo que a Funo Custo esteja aumentando (Figura 5.6).
Se um novo mnimo for encontrado, os registros antigos so apa
gados e novos valores de peso so adotados. Embora este procedimento
heuristico aumente as possibilidades de detectar o minimo global, no
h nenhuma garantia de que ele ser encontrado, a menos que se pague
um alto custo computacional com uma busca exaustiva.

(a)

(b)

Figura 5.6 Funo Custo (a) Com e (b) Sem Mnimo Local.

Classificadores No Lineares
Se as duas classes no forem linearmente separveis, a teoria de
MVS prev o mapeamento dos pontos do Espao de Entrada para outro
espao de maior dimenso, conhecido como Espao de Caracterstica.
A Figura 5.7 mostra uma situao em que os dados no podem ser line
armente separados. Para fazer a separao entre ambas podemos usar
no uma reta, mas uma curva descrita por uma funo polinomial, ou
tentar um recurso matemtico conhecido como Truque do Ncleo ou
Kernel Trick.
O uso de funes polinomiais, alm de apresentar risco de alto
custo computacional, pode favorecer o ajuste excessivo da curva polino
mial aos Vetores de Treinamento, podendo ento ocorrer problemas de
overfitting decorrentes da instabilidade causada pela enorme influncia
109

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

que um ou outro vetor pode ter sobre a curva polinomial. J o princpio


de margem mxima das MVS traz mais estabilidade na classificao,
diminuindo as chances de overfitting. Para entender melhor este com
portamento, vamos primeiramente ver o que significa usar um kernel8.

Figura 5.7 Exemplo de Classes No Separveis Linearmente.

A ideia por trs dos kernels mapear os Vetores num espao de


dimenso mais elevada que a original. Por exemplo, se o espao original
dos Vetores de Entrada for bidimensional, podemos introduzir algumas
redundncias em suas coordenadas e mapear estes mesmos vetores
num espao tridimensional. Qual o propsito disso? que duas classes
no separveis linearmente num espao bidimensional podem se tor
nar linearmente separveis num espao tridimensional, como ilustra a
Figura 5.8.

8 Embora o termo kernel possa ser perfeitamente traduzido para o portugus como ncleo, a traduo no parece ter prevalecido por aqui,
sendo mais comum a utilizao de kernel.

110

Sistemas Inteligentes e Minerao de Dados

Figura 5.8 Transformao No Linear do Espao de Entrada para o Espao de Caractersticas.

Essa transformao em que os vetores so representados num


espao de dimenso mais elevada, geralmente uma transformao
no linear j(x). O espao de partida dessa transformao no linear
conhecido como Espao de Entrada e o espao com dimenso mais alta
conhecido como Espao de Caractersticas.
O que se busca com esta transformao linearizar o Espao de
Caractersticas, e com isso tornar os dados linearmente separveis. Pode
parecer paradoxal, mas atravs de uma transformao no linear pos
sivel linearizar o Espao de Caracteristicas.
Vamos reproduzir um exemplo, apresentado por (SCHLKOPF &
SMOLA, 2001), ilustrando como esta transformao no linear pode
ser feita. Suponha um Espao de Entrada bidimensional, composto
por duas classes no separveis linearmente. Aplicando-se o truque do
kernel, vamos mapear esses dados num Espao de Caractersticas tridi
mensional, como ilustrado na Figura 5.9.
Observando-se o resultado da operao mostrada na Figura 5.9,
verifica-se que a transformao no linear j(x) no criou novas vari
veis; ainda estamos trabalhando com x1 e x2 no incio e no fim da trans
formao. As variveis z1,z2 e z3 so apenas elementos intermedirios
que ajudam no entendimento da transformao operada nos dados. Isso
significa que no ser necessrio computar explicitamente a transforma
o j(x) para obtermos no Espao de Entrada resultados semelhantes
queles que obteriamos se as operaes tivessem sido feitas no Espao
de Caractersticas.

111

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Figura 5.9 Exemplo de Transformao No Linear do Espao de Entrada para o Espao de Caractersticas.

O truque do kernel permite que as operaes de produto interno


entre dois vetores no Espao de Caracteristicas sejam computadas como
se ainda estivssemos no Espao de Entrada. Como, para efeitos pr
ticos, no houve efetivamente aumento da dimenso do espao onde
ocorrem as operaes de produto interno, o truque do kernel oferece a
possibilidade de escapar das complicaes que as operaes no Espao
de Caractersticas poderiam trazer. Por isso, os matemticos dizem que
kernels podem ajudar a fugir da Praga da Dimensionalidade.
Existem vrios kernels conhecidos (Polynomial, RBF etc.), alguns
desenvolvidos para aplicaes especficas, como kernels para bioinfor
mtica, para classificao de imagens ou caracteres etc. Como as MVS se
enquadram no paradigma do aprendizado supervisionado, isso significa
que existe um Conjunto de Vetores de Treinamento, cujos rtulos de
classe so previamente conhecidos. Portanto, com um pouco de teo
ria e uma dose de experimentao possvel desenvolver kernels que
aumentem a taxa de sucesso durante o treinamento.
Se o Conjunto de Treinamento for uma amostra representativa dos
Vetores de Teste, ento uma alta taxa de sucesso no treinamento possi
velmente significar boa capacidade de generalizao para o teste. Caso
contrrio, no ser possivel fazer previses confiveis com relao taxa
de sucesso nos testes.

112

Sistemas Inteligentes e Minerao de Dados

Margem Suave Mxima


H casos porm em que mesmo com a linearizao do Espao de
Caractersticas, obtida com o truque do kernel, as classes continuaro
no separveis linearmente. O que fazer nessa situao?
A soluo adotada pelas MVS foi criar uma margem suave que
admite rudos, mas estabelece uma penalidade para cada caso de classi
ficao equivocada. Considere um parmetro C, chamado de Parmetro
de Complexidade C, que aplica uma pena a cada vetor classificado erro
neamente. A Figura 5.10 ilustra diversas situaes envolvendo violaes
das bordas de classificao.
Se considerarmos primeiramente as margens verdes tracejadas
do Classificador da Figura 5.10, notamos que embora os vetores 1 e 2
tenham violado os limites das margens verdes, eles esto classificados
do lado correto do plano. Os vetores 3, 4 e 5, por sua vez, esto do lado
oposto ao que deveriam estar. Portanto, a penalizao para estes casos
distintos deve ser diferenciada, de acordo com a distncia da margem.
O ajuste do parmetro C ajuda a encontrar um compromisso entre
a tolerncia a vetores classificados erroneamente devido a margens
amplas (valor de C baixo) e a minimizao dos erros de treinamento
(valor de C alto, e margens estreitas). As margens verdes correspondem
a um Fator de Complexidade C baixo (~1), enquanto que as margens ver
melhas correspondem a um valor de C alto (~10).
Note que a minimizao dos erros de treinamento nem sempre
uma garantia de elevada taxa de sucesso na fase de testes. Isso depende
de quo representativo o Conjunto de Treinamento com relao ao
Conjunto de Teste, e do kernel escolhido. Para encontrar o melhor valor
de C, geralmente so coletados vrios resultados empricos usando o
mtodo da Cross-validation.
A Figura 5.10 ainda ilustra o fato de que, uma vez encontrado a
reta de separao dos dados, apenas os Vetores de Suporte (aqueles
pontos que tocam as margens) passam a ter importncia para a fase de
testes. Todos os demais Vetores de Treinamento podem ser desconsi
derados porque eles no tm qualquer influncia sobre as margens. A
implicao desse fato para o desempenho do classificador decisiva,
uma vez que para classificar um novo ponto no plano, basta considerar
os Vetores de Suporte, que so os delimitadores das margens.
113

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

x2

5
y = +1
4

y = -1

0,75

3
1
w
x1
2,5
5
Comprimento da ptala (cm)

Figura 5.10 Diferentes Margens com Diferentes Capacidades de Generalizao.

Ferramental Matemtico Bsico


Vamos agora, de forma sucinta, dar uma ideia de como as bor
das de deciso de uma MVS podem ser obtidas matematicamente num
espao bidimensional. Considere o plano cartesiano da Figura 5.11 e os
respectivos vetores x e w.
x2

x ==(x1,
w
(w1,x2)w2)
= (2.4,
= (1.0,
1.5)
1.0)

wx = (w1x1 + w2x2)
= (1.02.4 + 1.01.5)
= (2.4 + 1.5)
wx = 3.9

x
1

Produto Interno

x1

Note que o resultado de um


Produto Interno um valor
escalar e no um vetor!

Figura 5.11 Produto Interno dos Vetores wex.

114

Sistemas Inteligentes e Minerao de Dados

O Produto Interno de dois vetores, tambm chamado de Produto


Escalar ou Produto de Ponto, gera como resultado uma grandeza esca
lar, ou seja, um nmero real. Para sua representao, podemos usar
tanto um ponto, w.x, quanto os sinais de maior e menor, <w,x>. As
letras em negrito representam um vetor, enquanto que as letras simples
representam uma grandeza escalar. Usando Produto Escalar, qualquer
segmento de reta pode ser representado no plano da forma mostrada
na Figura 5.12.
x2
4

Equao da Reta
wx + b = 0

x ==(x1,
w
(w1,w2)
x2) = (1.0, 1.0)

Suponha b = -4

wx + b = 0

Variando-se x1 e x2,
obtm-se uma reta:

x1 = 0.0 => x2 = 4.0


x1 = 3.0 => x2 = 1.0
2

x1

Figura 5.12 Equao da Reta:w.x + b = 0.

Para representar uma reta e suas margens, usamos o mesmo pro


cedimento (Figura 5.13).

115

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli


x2

wx1 + b = +1
wx2 + b = -1

(1)
(2)

Fazendo (1) - (2)


x
wx
+ b = -1
1

=> w(x1 -x2)= +2


=> ||x1 - x2|| = 2/||w||
wx + b = 0
2

x2

x1

wx + b = +1
Figura 5.13 - Equao do Classificador e Margens.

Como estamos interessados em maximizar as margens, ou seja,


tornar o mdulo da subtrao de x1 por x2, ||x1 -x2||, o mais largo possi
vel, isso equivale a minimizar o mdulo do vetor peso w, j que
||x1 -x2|| = 2/||w||

(5.1)

A Equao mostra que quanto menor o mdulo de w, mais largas


sero as margens!
Dessa forma, a Funo de Aprendizado de uma MVS consiste em
testar coordenadas para w de tal modo que seu mdulo decresa a um
mnimo, fazendo com que as margens se alarguem, at o limite em que
elas toquem os primeiros Vetores de Treinamento nas bordas de deci
so. Quando isso ocorrer, estes Vetores de Treinamento que foram atin
gidos pelas margens do Classificador, se tornam os Vetores de Suporte
da MVS.
Existem tcnicas matemticas de otimizao deste problema, por
exemplo a Programao Quadrtica, bastante conhecida entre os mate
mticos, e que foram aproveitadas por (CORTES & VAPNIK, 1995) para

116

Sistemas Inteligentes e Minerao de Dados

desenvolver o algoritmo da MVS. Sucintamente o problema pode ser


formalizado da forma exposta a seguir.
Dado um Conjunto de Treinamento: (x1, y1), (x2, y2)... (xN, yN)
O Hiperplano com Margem Mxima definido pelo par (w, b) que
resolve o seguinte problema:
Minimize:
||w||2
Sob
as ze:
restries:
||w||
restries: i = 1 .. N,

yi(wxi + b) 1

Mais detalhes
decomo
desolucionar
como solucionar
aforma
a forma
dual desse
dual desse
problema
problema
de de
Programao Quadrtica podem ser obtidos na Referncia Bibliogrfica
desta unidade de estudo.
H uma interessante implementao de MVS, proposta por (PLATT,
1998), conhecida como SMO (Sequential Minimal Optimization), que
em vez de considerar todos os Vetores de Treinamento conjuntamente,
eles so divididos em pares e seus valores timos so deduzidos anali
ticamente. Embora o nmero de operaes matemticas aumente com
relao forma mais tradicional de resolver numericamente o problema
com um sistema de equaes, estas operaes matemticas da forma
analtica so simples, operaes aritmticas bsicas, e portanto muito
rpidas num computador. Dessa forma, o ganho no tempo total de com
putao pode ser significativo.
Outro atrativo muito interessante da implementao SMO que
no necessrio carregar simultaneamente todos os Vetores de Treina
mento na memria principal do computador. Considerando aplicaes
reais, com centenas de milhares ou milhes de Vetores de Treinamento,
o algoritmo SMO pode ser o mais indicado.

Como Visualizar as Bordas Deciso de uma SVM Usando o Weka


A ferramenta Weka (Weka, 2013) permite rodar vrias implemen
taes de SVM, ajustar o Parmetro de Complexidade C, entre outros, e
visualizar as Bordas de Deciso obtidas.

117

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Passo 1 - Primeiramente vamos carregar o arquivo iris.arff no


Weka e eliminar dois de seus Atributos, para tornar os resultados visual
mente mais interessantes. Carregue no Weka Explorer o arquivo iris.
arff, selecione os Atributos sepallength e sepalwidth, e d um cli
que em Remove, como mostra a Figura 5.14.

Figura 5.14 Remoo de Atributos de um Arquivo .arff.

Salve o novo arquivo com o nome iris_mod.arff, dando um cli


que no boto Save... (no canto superior direito do Weka Explorer).

118

Sistemas Inteligentes e Minerao de Dados

Passo 2 Vamos abrir o arquivo modificado iris_mod.arff no


Weka GUI Chooser (Figura 5.15), clicando primeiro na opo Vizuali
zation e depois em BoundaryVisualizer.

Figura 5.15 Interface Weka GUI Chooser.

Uma janela semelhante mostrada na Figura 5.16 deve aparecer.

Figura 5.16 Janela do BoundaryVizualizer.

119

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Passo 3 Clique no Boto Open File, localize o arquivo iris_mod.


arff e carregue no BoundaryVisualizer. Os Vetores de Treinamento
(representados por pontos) devem aparecer na tela de visualizao do
BoundaryVisualizer (Figura 5.17). (Como o BoundaryVisualizer leva
em conta os ajustes da ltima vez em que ele foi utilizado, a imagem que
aparece na tela pode variar de simulao para simulao.).

Figura 5.17 Dados do Arquivo ris_mod.arff na Tela do BoundaryVizualizer.

120

Sistemas Inteligentes e Minerao de Dados

Passo 4 Na parte superior direita, em Classifier, clique em


Choose (Figura 5.17), escolha Classifiers, depois functions e, final
mente SMO, como ilustra a Figura 5.18. Inicialmente deixe os valores
default do SMO.

Figura 5.18 Escolha do Algoritmo SMO.

Marque a opo Plot training data (Figura 5.18), na parte inferior


direita, para que ao final da simulao apaream no apenas as bordas
de deciso do classificador, mas tambm os dados usados no treina
mento. D um clique em Start (Figura 5.18).

121

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Lentamente as bordas de deciso do classificador vo se formando,


enquanto uma linha horizontal corre a tela indicando que a simulao
est em progresso.
Passo 5 O nmero de Vetores de Treinamento classificados
erroneamente deve ser em torno de 6. V com o mouse novamente na
parte superior direita do BoundaryVisualizer e clique com o boto da
esquerda sobre a palavra SMO, ao lado de Choose, no campo Clas
sifieres. Uma janela de ajustes dos parmetros do SMO, semelhante
mostrada na Figura 5.19, deve se abrir.

Figura 5.19 Janela de Ajustes de Parmetros do SMO.

Nesta janela, no boto More h uma explicao sucinta de todos


parmetros mostrados.
122

Sistemas Inteligentes e Minerao de Dados

Passo 6 Faa novas simulaes alterando o valor default do


Parmetro de Complexidade C de 1.0 para 2.0, 5.0, 30.0 etc. e confira o
nmero de Vetores de Treinamento que continuam classificados erro
neamente. Com ajuste de C = 2.0 e kernel PolyKernel foi rodada uma
simulao, cujos resultados so mostrados na Figura 5.20.

Figura 5.20 Bordas de Deciso da Simulao para C = 2.0 e Kernel PolyKernel.

Quando o valor do parmetro C foi alterado para 91, as Bordas de


Deciso se alteraram, como mostra a Figura 5.21.

Figura 5.21 Bordas de Deciso da Simulao para C = 91 e Kernel PolyKernel.

123

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Como pode ser observado, h dois ou trs pontos verdes e azuis


que se parecem com outliers. Vamos retirar alguns deles, ativando a
opo Remove points (Figura 5.21), e ver como a Borda de Deciso se
altera. A Figura 5.22 mostra o resultado da remoo de alguns pontos
azuis da tela, usando o boto esquerdo do mouse.

Figura 5.22 Simulao com a Remoo de Alguns Pontos Perto das Bordas.

Como pode ser observado na Figura 5.22, a Borda de Deciso


superior sofreu uma alterao significativa, mostrando que Vetores de
Treinamento prximos das Margens tm um peso muito grande nos
resultados obtidos.

124

Sistemas Inteligentes e Minerao de Dados

Passo 7 Novos kernels podem ser escolhidos entre os ajustes


do SMO. As cores do painel do BoundaryVisualizer podem ser alte
radas, clicando sobre os nomes das trs iris no campo intermedirio
Class color. Outros ajustes interessantes podem ser feitos no Boun
daryVisualizer e testados em novas simulaes. Bom trabalho!

Consideraes Finais
Nesta unidade, apresentamos um tipo de algoritmo de Apren
dizado Estatstico conhecido como Mquina de Vetores de Suporte
(MVS ou SVM).
Entre suas grandes vantagens, podemos citar:
- Por ser um algoritmo determinstico, se uma simulao for
repetida como os mesmos valores iniciais e os mesmos par
metros, obtm-se o mesmo resultado (diferentemente do que
ocorre com as Redes Neurais).
- Durante o aprendizado no se verifica o problema de mnimos
locais na otimizao da Funo Custo de aprendizado. H ape
nas um mnimo global que corresponde ao classificador com
margem mxima.
- As MVS esto menos sujeitas ao problema do overfitting com
parativamente s Redes Neurais, porque a induo do clas
sificador menos sensivel retirada ou acrscimo de um ou
outro Vetor de Treinamento (a menos que seja um Vetor de
Suporte. Na prtica, porm, os Vetores de Suporte constituem
uma pequena frao dos Vetores de Treinamento).
Comparando com os algoritmos de Aprendizado Orientado a
Conhecimento, as MVS apresentam tempo de treinamento mais ele
vado, porm sua taxa de acerto costuma ser mais elevada, porque o
principio de Margem (Suave) Mxima pode ser funcionalmente equi
valente a uma borda de deciso no linear.
Como desvantagem com relao aos algoritmos de Aprendizado
Orientado a Conhecimento, podemos citar a dificuldade em interpre
tar os resultados do aprendizado, que na prtica um conjunto de
125

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

pesos do vetor w, ou algo equivalente. Outro aspecto que pode ser


visto como uma desvantagem das MVS em relao a outros modelos,
que no possivel incorporar Conhecimento do Dominio do Problema
no Modelo gerado. Numa Rede Neural, por exemplo, a topologia da
rede reflete o Conhecimento do Dominio do Problema. Alm disso,
redes com multicamadas de neurnios podem aprender a ignorar Atri
butos irrelevantes (WITTEN & FRANK, 2005).
Atravs de exemplos e interpretaes geomtricas, tentamos
mostrar que o desempenho de uma MVS pode ser substancialmente
influenciado pela escolha do kernel e do Parmetro de Complexidade
C. Por se tratar de um algoritmo de aprendizado supervisionado, ou
seja, os rtulos das classes dos Vetores de Treinamento j so previa
mente conhecidos, possivel desenvolver um kernel especfico para
uma aplicao especial (embora no seja algo muito simples) e ava
liar empiricamente o desempenho do kernel usando o mtodo da
Cross-validation.
Os argumentos e as ilustraes aqui utilizados para explicar o
algoritmo das MVS foram baseados num espao bidimensional. No
entanto, eles podem ser estendidos para o espao tridimensional,
quando ento a reta que representa o classificador deve ser substi
tuda por um plano. Da forma semelhante, os mesmos argumentos
podem ser aplicados a espaos com mais de trs dimenses, e neste
caso o classificador passa a ser representado por um hiperplano.

Lista de Exerccios
1. Explique com suas prprias palavras o que vem a ser um ker
nel no contexto de SVM.
2. Explique com suas prprias palavras qual a funo do Fator de
Complexidade C e como ele pode afetar tanto a taxa de erros
de treinamento como a de classificao.
3. Carregue o arquivo iris.arff no Weka e faa a classificao
com uma Mquina de Vetores de Suporte usando o algoritmo
SMO, (clique na aba Classify, depois Choose, escolha
functions e clique em SMO) com o mtodo Cross-valida
tion (10 Folds).

126

Sistemas Inteligentes e Minerao de Dados

(a) Escolha valores para o Fator de Complexidade C entre 1 e 5


e analise os resultados da Matriz de Confuso. (Para ajustar
o valor de C, clique com o boto esquerdo do mouse sobre a
palavra SMO, ao lado de Choose, e mude o valor de C na
janela que deve se abrir).
(b) Compare o desempenho dos kernels PolyKernel e RBFKer
nel. (Para escolher o tipo de kernel, clique com o boto es
querdo do mouse sobre a palavra SMO, ao lado de Choose,
e escolha o kernel na janela que deve se abrir).

Referncia Bibliogrfica
CORTES, C. & VAPNIK, V. Support Vector Networks. Netherlands: Machine
Learning, 20, pp. 273-297, Springer Verlag, 1995.
PLATT, J. Fast Training of Support Vector Machines Using Sequential Minimal
Optimization. http://research.microsoft.com/apps/pubs/?id=68391 . Aces
sado em 22.03.13.
REZENDE, S.O. (Organizadora). Sistemas Inteligentes: Fundamentos e Aplica
es. Barueri: Editora Manole Ltda., 2005.
ROCHA, M.; CORTEZ, P. & NEVES, J. M. Anlise Inteligente de Dados: Algorit
mos e Implementao em Java. Lisboa: Editora de Informtica, 2008.
ROSENBLATT, F. The Perceptron: a Perceiving and Recognizing Automaton.
Report 85, pp. 460-1, Cornell Aeronautical Laboratory, 1957.
SCHLKOPF, B. & SMOLA, A. J. Learning with Kernels. Cambridge: Cambridge
Press, 2001.
TAN, P.N.; STEINBACH, M. & KUMAR, V. Introduo ao Data Mining Minerao
de Dados. Rio de Janeiro: Editora Cincia Moderna Ltda., 2009.
Weka. The Waikato University. In http://www.cs.waikato.ac.nz/ml/weka. Aces
sado em 03.03.13.

127

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

WITTEN, I. H. & FRANK, E. Data Mining: Practical Machine Learning Tools and
Techniques. Second Edition. Amsterdam: Morgan Kaufmann Publishers, 2005.

128

Captulo 6 - Aplicaes de SVM


Usando Imagens
Introduo
Usar tcnicas de classificao, como a SVM, para aplicaes em
imagens de grande interesse e importncia, tanto para a academia
como para o mercado. Como exemplo, na medicina, possvel usar
software para auxiliar o diagnstico mdico, chamado CAD (Computer
Aided Diagnosis), analisando imagens de raio x, ultrassom, ressonncia,
tomografia, microscpio eletrnico, raio laser, etc. Este ltimo tipo de
imagens, conhecido como tomografia de coerncia ptica (OCT, sigla em
ingls), auxilia mdicos no diagnstico usando laser de baixa frequncia,
criando imagens tridimensionais de tumores.
Outro fator que motiva criar Sistemas Especialistas para anlise de
imagens a existncia de sistemas de gesto de exames, implantados
nos principais hospitais e laboratrios, onde os exames so realizados e
os resultados so digitalizados, inclusive as imagens dos exames. Assim,
j existe uma gigantesca base de imagens, que poderia treinar vrios
Sistemas Especialistas, quando o diagnstico j existe no pronturio do
paciente.
Alm das imagens mdicas, tambm existem grandes demandas
para anlise de imagens em dispositivos mveis, para os quais aplica
es esto comeando a surgir, como o reconhecedor de faces em apli
cativos com cmeras em smartphones.
Outra aplicao recente a busca por imagens na web, como
o aplicativo Google Goggles, que, com base numa foto de um objeto
retorna pginas na web com imagens semelhantes. Esta busca por ima
gem ainda apresenta muitos erros, parecendo ser uma busca pelo histo
grama da imagem (isto ser explicado neste capitulo).
Desta forma, se ressalta a importncia em criar sistemas sofisti
cados para a anlise de imagens, e este capitulo faz uma introduo
classificao de imagens usando SVM.

129

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Introduo Classificao de Imagens Usando Weka e MATLAB


O leitor pode reproduzir os experimentos deste capitulo usando o
software MATLAB, verso 2010, para criar as imagens e gerar arquivos
.arff, que devero ser lidos pelo Weka. Foram feitos testes de classifica
o em imagens usando o classificador SVM. Inicialmente foram geradas
imagens sintticas simples de uma face feliz e outra triste, como ilustra
a Figura 6.1.

(a)

(b)
Figura 6.1 Face (a) Feliz e Face (b) Triste.

Essas imagens so matrizes quadradas de dimenso 7x7, onde


o canto superior esquerdo convencionado no MATLAB como o pixel
(1,1), a primeira coordenada o eixo vertical e a segunda coordenada, o
eixo horizontal. Assim, os pixels dos olhos e das bocas das duas imagens
da Figura 6.1 so definidos com o valor 1 (um) e o restante com o valor
0 (zero). Definimos uma imagem com dimenses 7x7 (Figura 6.1(a)) no
MATLAB, com os seguintes comandos:
img_a = zeros(7,7); % cria imagem img_a com dimenses 7x7
img_a(2,3) = 1; img_a(2,5) = 1; % define os olhos
img_a(4,2) = 1; img_a(4,6) = 1; img_a(5,3:5) = 1; % define a boca feliz

Respectivamente, de forma semelhante para a imagem da Figura


6.1(b):
img_b = zeros(7,7); % cria imagem img_b com dimenses 7x7
img_b(2,3) = 1; img_b(2,5) = 1; % define os olhos
img_b(6,2) = 1; img_b(6,6) = 1; img_b(5,3:5) = 1; % define a boca triste

Em seguida, para gerar outras amostras das imagens feliz e triste,


foram geradas translaes aleatrias de 1 pixel na horizontal, 6.2(a)
130

Sistemas Inteligentes e Minerao de Dados

(respectivamente, para a direo vertical, Figura 6.2(b)). Para a transla


o horizontal (respectivamente vertical), foram utilizados os seguintes
comandos no MATLAB:
trans = 1; % para translaes de um pixel na horizontal ou na vertical
% Horizontal
img
% Vertical
= imdilate(img,translate(strel([1]),[0 - trans+round(rand*2*trans)]));
img = imdilate(img,translate(strel([1]),[-trans+round(rand*2*trans)0]));

(a)

(b)

Figura 6.2 - Translao (a) Horizontal e (b) Vertical.

Para essas translaes, foram utilizadas operaes de dilataes


com elementos estruturantes especiais, onde o objetivo do comando
trans+round(rand*2*trans) fornecer um nmero aleatrio entre
-trans e trans (para detalhes, consulte o help do MATLAB). Assim,
a imagem img transladada de forma aleatria para a esquerda ou
direita. Clculo anlogo realizado para a translao vertical. Veja no
cdigo a seguir a funo completa construida no MATLAB para gerar
imagens aleatrias e tambm o arquivo .arff, que ser usado no Weka
para obter o resultado da classificao usando SVM:
function imagens_aleatorias(str, resposta, NUM_IMGS, img)
% str
string com o nome do arquivo .arff
% resposta
string com valores feliz ou triste
% NUM_IMGS
nmero de amostras aleatrias geradas nesta funo
% img
imagem de entrada feliz ou triste
img_ori = img;
for i=1 : NUM_IMGS
img = img_ori;
trans = 1; % translao +/- trans pixels na horizontal/vertical
% translao horizontal

131

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

img = imdilate (img', translate (strel ([1]), [0 trans+round (rand"2*trans) ]));


% translao vertical

img = imdilate (img', translate (strel ([1]), [-trans+round(rand"2*trans) 0]));


* varre primeiro as linhas da imagem e cada pixel define um atributo
x1 = img (1, 1);
x2 = img (1,2);
x3 = img (1,3);
x49= img (7, 7);
fid = fopen (str, 'r'); # l arquivo str
if fid == -1 % se arquivo no existe, incluir cabealho
fid = fopen (str," at:}");
fprintf (fid, "%s\n", "GRELATION face");
fprintf (fid, "%s\n", " GATTRIBUTE class
{triste, feliz }");
fprintf (fid, '%s\n", " GATTRIBUTE x1 INTEGER');
fprintf (fid, '%s\n", " GATTRIBUTE x2 INTEGER');
fprintf (fid, '%s\n", " GATTRIBUTE x49 INTEGER");
fprintf (fid, "%s\n", "GDATA");
else ? seno, inclur os atributos da nova imagem feliz ou triste
fclose (fid);

fid = fopen (str," at:}");


end

# o prximo comando imprime "feliz" ou "triste", mais os 49 atributos (pixels)


fprintf (fid, '%s', #5d, #5d, #5d, #5d, #5d, #5d, #5d, #5d, #5d, #5d, #5d, #5d, #5d, #5d,
%5d, 25d, 25d, 25d, 25d, 25d, 25d, 25d, 25d, 25d, 25d, 25d, 25d, 25d, #5d, #5d, #5d, #5d,

%5d, 25d, #5d, #5d, #5d, #5d, 25d, #5d, #5d, #5d, 25d, 25d, #5d, #5d, #5d, #5d, 25d\n", ...
resposta, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18,
x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30; x31, x32, x33, x34, x35, x36,
x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49);

fprintf (fid, '\n');


fclose (fid); # fecha arquivo
end

Um
exemplo
de
uso
aleatorias ("face50. arff",

desta
funo
"feliz", 50,

imagens_
img_a), e aps

a execuo deste comando no MATLAB, esta funo salva no disco o


seguinte fragmento de arquivo .arff", gerando 50 imagens da face feliz
(Figura 6.1 (a)) com translaes aleatrias de um pixel para a horizontal
ou vertical. Este arquivo *face 50. arff" usado como entrada de
dados no Weka:

132

Sistemas Inteligentes e Minerao de Dados


@RELATION face
@ATTRIBUTE x1
INTEGER
{triste,feliz}
class
@ATTRIBUTE x2 INTEGER
...
@ATTRIBUTE x49 INTEGER
@DATA
feliz,
0,
1,
0,
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
feliz,
0,
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
...
triste,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
0,
0,

1,
0,
0,
1,
0,
0,
0,

0,
0,
1,
0,
0,
0,
0,

0,
0,
0,
0,
0,
0,
0

0,
1,
0,
0,
1,
0,
0,

0,
0,
0,
0,
1,
0,
0,

0,
1,
0,
0,
1,
0,
0,

0,
0,
0,
1,
0,
0,
0,

0,
0,
0,
0,
0,
0,
0

0,
1,
0,
0,
1,
0,
0,

0,
0,
0,
0,
1,
0,
0,

0,
1,
0,
0,
1,
0,
0,

0,
0,
0,
0,
0,
1,
0,

0,
0,
0,
0,
0,
0,
0

Usando a funo anterior para gerar 50 amostras para a imagem


feliz e 50 para a triste, o classificador SVM implementado no Weka
obteve 100% de acerto, como mostra a seguinte matriz de confuso:
a
50
0

b <--classified as
0 | a = triste
50 | b = feliz

Para translaes horizontais e verticais ao mesmo tempo, como


mostra a Figura 6.3, foram gerados dois conjuntos de amostras ao acaso
de 50 translaes cada. Na primeira, tambm foi obtido 100% de acerto.
133

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Porm, no segundo conjunto de amostras aleatrias geradas foi encon


trada a seguinte matriz de confuso:
a
47
1

b <-- classified as
3 | a = triste
49 | b = feliz

Figura 6.3 Face Transladada Horizontal e Vertical.

Neste caso com 96% de acerto. Ou seja, trs imagens triste foram
classificadas como feliz e uma imagem feliz foi classificada como triste.
Um dos casos apresentado na Figura 6.4.

Figura 6.4 Caso de Erro, com Translaes Horizontais e Verticais.

Agora, aumentando o nmero de imagens para 1000 amostras de


translaes aleatrias de um pixel na vertical e na horizontal foi obtido
100% de acerto. Este processo foi repetido 5 vezes e em todos os casos
o resultado foi o mesmo. Ou seja, quando maior o nmero de amostras,
melhor ser o resultado da classificao.
Em seguida, foram realizados testes de translao com mais de um
na
pixel
horizontal e na vertical. Em uma das simulaes foi usada uma
134

Sistemas Inteligentes e Minerao de Dados

translao com 2 pixels. Neste caso, a boca e/ou os olhos podero ser
excluidos da imagem, como mostra a Figura 6.5, dificultando ainda mais
o processo de classificao. Como resultado, foi obtida a seguinte matriz
de confuso, considerando 100 amostras:
a
b <-- classified as
13 | a = triste
37
42 | b = feliz
8

Figura 6.5 Foto Sem os Olhos.

Como esperado, foi obtido 79% de acerto. Rodamos novamente


para outras 100 amostras, obtivemos 72% de acerto. Aumentando para
1000 amostras obtivemos 94.8%, com a seguinte matriz de confuso:
a
472
24

b <--classified as
28 | a = triste
476 | b = feliz

No lugar de fazer translaes, tambm podemos utilizar rotaes


e reflexo. Finalmente, foram utilizados rudos aleatrios de um pixel,
dois pixels etc., de acordo com o seguinte trecho de cdigo no MATLAB:
% adiciona rudos de um pixel na imagem 7x7
num = sum(sum(img));
aux = img;
while (num~=8) % para adicinar dois pixels de rudo, mudar de 8 para 9
img = aux;
img = max(rand(7)>0.95,img);
num = sum(sum(img));
end

135

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Para imagens com ruidos de um pixel a mais, ou seja, para 8 pixels


com valor 1, foi obtido 100% de acerto para 100 amostras (o mesmo se
repetiu para 9, 10 e 11 pixels, com gerao de vrios conjuntos de 100
amostras diferentes). J para 12 pixels, ou seja com 5 pixels a mais de
ruido, foi obtido 99% de acerto. Foram repetidos vrios testes com 12
pixels com valor 1 e o resultado se manteve prximo a 99% de acerto. A
Figura 6.6 ilustra um dos resultados classificados erroneamente.

Figura 6.6 Imagem com Rudos Classificada Erroneamente.

Como concluses destes testes, podemos ressaltar que no pos


svel considerar todos os pixels de uma imagem como atributos, pois
para uma imagem de 1000x1000 pixels (que um tamanho razovel para
imagens tratadas atualmente) o nmero de atributos utilizados no Weka
torna-se invivel. Alm disso, para uma simples imagem sinttica 7x7
verificamos que variaes geomtricas de translao e da incluso de
rudos, a classificao fica comprometida, sendo necessrio aumentar
o nmero de amostras significativamente para melhorar a classificao.
Alm disso, aconselhvel usar atributos mais significativos para
diminuir a quantidade de atributos sem comprometer o desempenho da
classificao. Por exemplo, para o caso de imagens da face, possvel ter
como atributos: o nmero de componentes conexos (pixels com valores
1s conectados usando vizinhana 8, por exemplo, ou seja, tomando-se o
centro de um subconjunto 3x3 da imagem e verificando se existe algum
dos 8 vizinhos tambm com valor 1), assim, estes pixels com valores
1s pertencem a um componente conexo; a rea de cada componente
conexo; o fecho convexo dos objetos, isto , as bordas convexas nos
olhos e na bocas das imagens da Figura 6.1 o fecho convexo da face

136

Sistemas Inteligentes e Minerao de Dados

triste possui rea maior que a rea da face feliz etc. Estes atributos, que
representam a topologia dos objetos, podem ser mais representativos
ao distinguir diferentes tipos de objetos.
O MATLAB oferece tambm recursos para calcular medidas geo
mtricas de cada objeto usando o comando regionpropos para mais
informaes deste comando, consulte o help do MATLAB. Porm, antes
de analisar a topologia de cada objeto, a prxima seo apresenta uma
tcnica de classificao de imagens usando histogramas.

Classificao de Imagens Usando Histogramas


Como uma aplicao de classificao de imagens reais, em que
no possvel considerar cada pixel da imagem com um atributo, nesta
seo consideramos apenas os valores dos pixels das imagens, sem a
preocupao com as formas que estes pixels possam representar na
imagem.
Considere a imagem da Figura 6.7. Esta uma imagem colorida,
usando o padro de cores RGB (do ingls: Red (vermelho), Green (verde)
e Blue (azul), respectivamente). Esta imagem pode ser lida no MATLAB
usando o comando img = imread('Lena.jpg');, criando a vari
vel
como
img.
mostra
Paraavisualizar
Figura 6.7.
esta imagem,digite o comando imshow(img),
Para verificar as dimenses desta varivel img, basta digitar whos
no MATLAB. Na Figura 6.8 possivel observar que a imagem img pos
sui dimenses 512x512x3. O ltimo valor 3 representa as cores RGB, ou
tambm chamadas de as trs bandas da imagem. O campo Class nesta
Figura 6.8 representa o tipo de dados de cada pixel, em cada uma das
trs bandas. Neste exemplo o tipo uint8, que significa um byte que
pode assumir valores entre 0 e 255, representando tons de cinza.

137

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Figura 6.7 Imagem em Cores, com Dimenses 512x512x3.

Figura 6.8 Comando Usado para Ler uma Imagem e Mostrar as suas Caractersticas.

Para os nossos testes de classificao usando histogramas,


possvel analisar apenas uma banda de cores, por exemplo, digitando
o comando imgNC=img(:,:,2);. Neste comando considerado ape
nas a segunda banda da imagem. Para visualizar esta imagem, digite
imshow(imgNC), como mostra a Figura 6.9.
Para visualizar o histograma de uma imagem, use o comando
imhist(imgNC). A Figura 6.10 mostra o resultado deste comando.

138

Sistemas Inteligentes e Minerao de Dados

Figura 6.9 Imagem em Nvel de Cinza.

Figura 6.10 - Histograma da Imagem imgNC.

139

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

Agora, j possivel fazer um experimento completo de classifica


o em imagens usando como atributos o histograma de cada imagem,
isto , os 256 atributos referentes cor de cada pixel para cada imagem,
como apresentado na Figura 6.10. Para estes testes sero usadas 10 ima
gens, sendo 5 do tecido adiposo (Figura 6.11(a)) e 5 do tecido epite
lial (Figura 6.11(b))9. Estas imagens tambm foram classificadas usando
medidas topolgicas, como apresentado em (ZAMPIROLLI et al., 2010)10
e resumido na prxima seo. Usando apenas o histograma na segunda
banda das imagens (veja Figuras 6.12 e 6.13), a respectiva matriz de
confuso apresentada a seguir, com 100% de acerto. Esta facilidade
na classificao ocorre pois as imagens do tecido adiposo so mais cla
ras (muitos pixels com valores prximos do 255), quando comparadas
com as imagens do tecido epitelial, como observado nos histogramas da
Figura 6.13.
a b <-- classified as
50 | a = epitelial
05 | b = adiposo

(a)

(b)

Figura 6.11 Imagens dos Tecidos (a) Adiposo e (b) Epitelial.

9 http://professor.ufabc.edu.br/~fzampirolli/cells
10 http://sibgrapi.sid.inpe.br/col/sid.inpe.br/sibgrapi/2010/08.28.15.30/doc/article_sibgrapi_v8.pdf.

140

Sistemas Inteligentes e Minerao de Dados

(a)

(b)

Figura 6.12 Imagens em Nveis de Cinza dos Tecidos (a) Adiposo e (b) Epitelial.

(a)

(b)

Figura 6.13 Histogramas dos Tecidos (a) Adiposo e (b) Epitelial, das Imagens da Figura 6.12.

O cdigo para ler as 10 imagens dos tecidos adiposo e epitelial


que
apresentado
pode seralido
seguir.
peloEste
Weka.
cdigo cria o arquivo _MEASURES.arff,

function script_histograma
pasta = ['IMAGES/' ]; % pasta onde esto as imagens

141

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

d = dir (pasta); % comando para ler todos os arquivos de pasta


num=0;

for i = 3: Size (d, 1) # para cada arquivo da pasta com final "... tif"
str = [pasta d (i) . name]
if strcmp (str (end-3: end), ".tif ')
num = num + 1;

addARFF (str); # funo para adicionar o histograma em "...arff"


end
end

disp (num)
end

* funo para adicionar o histograma no arquivo "_MEASURES. arff"


function addARFF (str)

img = imread (str); # ler imagem ".tif" do disco


imhist (img (; , ; , 2) ); % calcular o histograma da imagem

[cont, I]

str_meas = [ _MEASURES" " . arff']; & arquivo "_MEASURES. arff"


if fopen (str_meas, "r")==-1 * arquivo no existe, ento crie cabealho

fid = fopen(str_meas, at:#');


fprintf (fid, "%s\n", "GRELATION corpo");
fprintf (fid, "%s\n", " GATTRIBUTE class
for Gi = 1

{epit, adip}");

256

type = num2.str (Gi);

fprintf (fid, "%s\n", ["GATTRIBUTE ne" type "

REAL"]);

end

fprintf (fid, "%s\n", "GDATA");


else * arquivo arff j existe, ento inserir histograma da imagem

fid = fopen(str_meas, at:#');


end

* adicionar em "_MEASURES. arff" "adip" ou "epit"


i=length (str);

while (i>0 && -ise qual (str(i), ' /'))


i = i = 1;
end

fprintf (fid, "%5s, ", str (i+1: i+4));

* adicionar em "_MEASURES. arff" os 256 valores do histograma da imagem


for Gi = 1

256

if Gi == 256

fprintf (fid, "%5d", cont (Gi));


else

fprintf (fid, "%5d, ", cont (Gi));


end
end

fprintf (fid, '\n');


fclose (fid); # fechar arquivo
end

142

Sistemas Inteligentes e Minerao de Dados

Classificao de Imagens Usando Atributos Topolgicos


Nem todas as aplicaes de classificao em imagens considerando
a abordagem de histograma possivel. Por exemplo, nos histogramas
das imagens feliz e triste da primeira seo deste captulo, o nmero de
pixels com valor 1 em ambas imagens 7, e, com valor 0, 42. Assim, no
possivel usar histogramas para classificar estas imagens.
Alm disso, nas imagens dos tecidos adiposo e epitelial, apre
sentadas na seo anterior, a facilidade na classificao usando apenas
histogramas no deve ocorrer se o objetivo for analisar a topologia das
clulas em um nico tipo de tecido celular, por exemplo, para tentar pre
ver o inicio de um tumor. Mais ainda, analisar a topologia celular pode
auxiliar no diagnstico do cncer, para prever se um tumor benigno ou
maligno.
Desta forma, esta seo apresenta um estudo sobre classificao
em imagens considerando os atributos relacionados topologia de obje
tos. Como estudo de caso, sero consideradas as mesmas 10 imagens
apresentadas na seo anterior, 5 do tecido adiposo e 5 do tecido epite
lial. A parte de segmentao de imagens e clculo dos atributos de cada
objeto foge do escopo deste livro, porm o arquivo .arff contendo
estes dados est disponvel para o leitor poder reproduzir a classificao
destas 10 imagens (http://professor.ufabc.edu.br/fzampirolli/cells).

Segmentao
Uma das atividades mais importantes e complexas em viso com
putacional encontrar, de forma automtica, objetos em imagens,
tendo como saida uma imagem em que cada objeto apresenta uma cor
distinta, de forma a diferenciar um objeto de outro. Este processo pode
ser chamado de segmentao em imagens.
A segmentao nas 10 imagens dos tecidos adiposo e epitelial
foram obtidas atravs de um processo semiautomtico: em primeiro
lugar, algumas transformaes em imagens foram aplicadas e possveis
marcadores foram identificados de forma automtica; a seguir, um espe
cialista usou uma interface para editar os marcadores, alm de incluir e
excluir certos marcadores. Todo este processo detalhado em (ZAM
PIROLLI et al., 2010). Aps a criao de um marcador para cada clula,

143

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

foi usada uma transformao chamada Watershed, para segmentar o


contorno de cada clula, como apresentado na Figura 6.14. Para cada
imagem, foram consideradas 81 clulas, totalizando 810 clulas.

Figura 6.14 - Segmentao das Clulas da Figura 6.12(b).

Clculo dos Atributos


Aps a segmentao de cada imagem, possvel calcular vrios
atributos (como rea, perimetro, etc.) para cada clula da imagem,
usando por exemplo o comando regionprops (para mais detalhes,
consulte o help do MATLAB). Outras 5 medidas foram propostas por
CHANG (2005). Tambm foram consideradas medidas em grafos, como
ilustra a Figura 6.15. Consulte (ZAMPIROLLI et al., 2010) para detalhes.

144

Sistemas Inteligentes e Minerao de Dados

Figura 6.15 - Grafo de Vizinhana Gerado a partir da Imagem Segmentada.

Classificao
Aps os clculos dos vrios atributos topolgicos dos tecidos,
foi gerado o arquivo .arff, obtendo 99.8765% de acerto na classifi
cao, com a seguinte matriz de confuso (em http://professor.ufabc.
edu.br/fzampirolli/cells, fazer download do aquivo .arff, e seguir os
seguintes passos no Weka: abrir arquivo .arff (Explorer -> open file) ->
Classify -> Choose -> function -> SMO -> (Nom) class -> Start):
a
b <--classified
404 1 | a = adipose
0 405 | b = epitelial
A seguir so apresentados os pesos de cada atributo usando o
SVM:

+
+
+
+
+
+

-0.9332 * (normalized) Perimeter


-0.7119 * (normalized) Area
-4.2324 * (normalized) MeanDistNeighbors
-1.0041 * (normalized) MajorAxisLength
-1.054 * (normalized) MinorAxisLength
0.3752 * (normalized) Orientation
-0.8637 * (normalized) ConvexArea

145

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

+
+
+
+
+
+
+
+
+
+

0.002 * (normalized) Eccentricity


-0.9794 * (normalized) EquivDiameter
0.4476 * (normalized) Extent
1.4789 * (normalized) Solidity
-0.1844 * (normalized) FormFactor
-0.1537 * (normalized) Roundness
0.1897 * (normalized) AspectRation
-0.115 * (normalized) Convexity
4.0835 * (normalized) Solidity2
1.1104

Consideraes Finais
O uso de aprendizado de mquina para classificar imagens de
grande importncia na rea de processamento digital de imagens por
que geralmente produz resultados muito bons. Esta rea est em cres
cimento devido ao avano da tecnologia digital, demandando mais apli
caes especificas. Este capitulo introduziu o uso de SVM aplicado no
Reconhecimento de Padres em imagens. Existem outros classificado
res, como Redes Neurais, KNN, etc., que podem ser usados para desen
volver sistemas especialistas usando imagens.
Alm disso, possvel fazer o pr-processamento e a classificao
usando apenas o MATLAB, sem a necessidade de usar o Weka. Outra
possibilidade usar apenas linguagens de cdigo aberto, como a lingua
gem Python, ou o Octave, no lugar do MATLAB.
Para trabalhos futuros podemos pesquisar novos atributos, alm
dos obtidos do histograma e de atributos geomtricos de objetos seg
mentados na imagem, criando novas aplicaes em classificao em
imagens.

Lista de Exerccios
1. Reproduzir os exemplos das faces feliz e triste da primeira seo
com translaes aleatrias de 1, 2 e 3 pixels para a horizontal e
para a vertical, para 5, 10, 50 e 100 amostras, usando o cdigo
da funo imagens_aleatorias. Esta funo tambm
gera o arquivo .arff para ser usado no Weka. Verifique se as
classificaes coincidem com as apresentadas neste capitulo.
146

Sistemas Inteligentes e Minerao de Dados

Altere esta funo, agora para gerar rudos aleatrios e tambm


verifique a classificao no Weka.
2. Reproduzir os exemplos de classificao usando o histograma
dos tecidos epitelial e adiposo. Para isto use a funo script_
histograma, apresentado na segunda seo. Construa a sua
prpria base de imagens com pelo menos dois tipos distintos de
histogramas e use esta funo para verificar a sua classificao
(por exemplo, fotos digitais de pessoas e de paisagens).
3. Alm dos atributos apresentados na terceira seo para analisar
a topologia dos tecidos epitelial e adiposo, sugerir mais outros
atributos para tentar melhorar a classificao.
4. Sugerir outras aplicaes de classificao de imagens e novas
tcnicas usadas para gerar os atributos.

Referncia Bibliogrfica
CHANG, R.; WU, W.; MOON, W. K. & CHEN. D. Automatic Ultrasound Segmen
tation and Morphology Based Diagnosis of Solid Breast Tumors. Breast Cancer
Research and Treatment, 89:17918, 2005.
Equipamento promete melhorar diagnstico do cncer de pele. In http://noti
cias.bol.uol.com.br/ultimas-noticias/ciencia/2013/08/07/equipamento-pro
mete-melhorar-diagnostico-do-cancer-de-pele.htm. Acessado em 08.08.13.
Hospital de Ribeiro Preto usa sistema nacional para arquivar e gerenciar
imagens mdicas. In http://revistapesquisa.fapesp.br/2013/07/12/acesso
-digital. Acessado em 08.08.13.
MATLAB. The Language of Technical Computing. In http://www.mathworks.
com/products/matlab. Acessado em 15.08.13.
Minerao de dados por imagens auxilia diagnstico mdico. In http://www.
usp.br/agen/?p=100292. Acessado em 08.08.13.
Weka. The Waikato University. In http://www.cs.waikato.ac.nz/ml/weka. Aces
sado em 03.03.13.

147

Jos Artur Quilici-Gonzalez e Francisco de Assis Zampirolli

WOODS, R. E. & GONZALEZ, R. C. Processamento Digital De Imagens - 3 Ed.


Pearson Education BR 2011.
ZAMPIROLLI, F. A.; STRANSKY, B.; LORENA, A. C. & PAULON, F. L. D. M.: Segmen
tation and Classification of Histological Images - Application of Graph Analysis
and Machine Learning Methods. In SIBGRAPI(2010)331-338.

148

Sobre o livro
Tipologias
Mancha
utilizadas:
Formato:
Grfica: 16 cm por 23 cm
32 cm por 23 cm
Calibri Regular
Calibri Bold
Calibri Itlico
Cambria Regular
Cambria Bold
Cambria Itlico
Courier New
Courier New Bold
Courier New Itlico
Papel: Capa: Triplex 250g LD
Miolo: Offset 75 gramas

Diagramao, Impresso e Acabamento


Triunfal Grfica e Editora
Rua Fagundes Varela, 967 - Vila Ribeiro - Assis/SP
CEP 19802 150 - Fone: (18) 3322-5775 - Fone/Fax: (18) 3324-3614
CNPJ 03.002.566/0001-40

Vous aimerez peut-être aussi