Académique Documents
Professionnel Documents
Culture Documents
Sistemas Inteligentes e
Minerao de Dados
Sistemas Inteligentes e
Minerao de Dados
CATALOGAO NA FONTE
SISTEMA DE BIBLIOTECAS DA UNIVERSIDADE FEDERAL DO ABC
Responsvel: Gesialdo Silva do Nascimento CRB: 7102
006.3
QUILpo
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 .....................................................................................
10
13
17
Introduo .............................................................................................
17
19
Dado ..................................................................................................
19
Informao ........................................................................................
20
Conhecimento ...................................................................................
20
Desempenho .....................................................................................
21
Inteligncia ........................................................................................
21
22
26
28
29
Introduo .............................................................................................
29
39
50
51
53
Introduo .............................................................................................
53
Classificao ........................................................................................... 53
rvores de Deciso ................................................................................
56
57
63
66
67
68
Overfitting e Poda.................................................................................. 71
Matriz de Confuso e Avaliao dos Resultados ..................................
72
74
82
83
85
Introduo .............................................................................................
85
Classificao ........................................................................................... 86
Algoritmos de Aprendizado ................................................................... 87
Algoritmo oneR ou 1R (uma Regra)...................................................... 87
Avaliao dos Resultados ......................................................................
91
93
94
95
Consideraes Finais.............................................................................
99
99
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
94
95
97
98
101
104
105
107
108
109
110
111
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
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
14
15
Dado
um fato registrado ou uma quantidade (ou qualidade) conhecida
sem a necessidade de elaborao. Por ex., o peso (ou massa!) de uma
19
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
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
23
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
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
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
Inteligncia
Artificial
Aprendizado
de
Mquina
Minerao
de
Dados
Base
de
Dados
Estatstica
TID
Itens
{Queijo, Vinho}
TID
Arroz
Feijo
Batata
leo
gua
Queijo
Vinho
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
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
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
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}
Itens
{A}
Suporte
4/5
{B}
{C}
3/5
2/5
{D}
{E}
3/5
1/5
{F}
{G}
2/5
2/5
Itens
Suporte
{A}
4/5
{B}
3/5
{C}
2/5
{D}
3/5
{F}
2/5
{G}
2/5
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
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
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}
Itens
Suporte
{A, B, C}
2/5
{A, B, D}
3/5
{A, C, D}
2/5
{B, C, D}
2/5
Itens
{A, B, C, D}
Suporte
2/5
38
VoltandoVoltando
ao exemplo
como o2.5,
Suporte
={A, B,de
C} CF
2/5
ao inicialda
exemploTabela
inicial 2.5,
da Tabela
comodeoCF
Suporte
=
Conf(C A, B) = 1,00
Conf(A, C B) = 1,00
Conf(B, C A) = 1,00
(a)
(b)
Figura 2.2 A Base de Dados Transacoes_1 na Forma (a) Planilha .xls e (b) .csv.
41
(a)
(b)
Figura 2.3 Telas Iniciais do Weka (a) GUI Chooser e (b) Explorer.
42
43
Figura 2.6 Arquivo ARFF (Transacoes_1.arff), com Itens Ausentes Representados por n.
44
Figura 2.7 Aba Preprocess + Open file... para Escolha do Arquivo ARFF.
45
46
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)
47
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
49
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
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
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
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
54
Figura 3.1 Representao do Estudo da Flor ris com Dois Atributos. 123
55
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
Figura 3.2 Modelos Equivalentes: (a) rvore de Deciso e (b) Regras de Classificao.
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
Dia
Ensolarado
Nublado
Chuvoso
Partida
Sim
No
Temperatura
Elevada
Amena
Baixa
Partida
Sim
No
Umidade No
Alta
Normal
Partida
Sim
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
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
Chuvoso
Dia
Baixa
Amena
Temperatura
Partida
Sim
No
Dia
Chuvoso
Chuvoso
Chuvoso
Chuvoso
Chuvoso
Vento
Falso
Falso
Falso
Verdadeiro
Verdadeiro
Partida
Sim
Sim
Sim
No
No
61
UmaUma
forma
alternativa
de interpretar
estes nmeros
pensar
que estamos
de interpretar
forma
alternativa
estes nmeros
pensar
que
De acordo
De acordo
comestecom
raciocnio,
este ograude
raciocnio,
impureza
o graumxima
de impureza
representado
mxima
pela
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
Info(Temperatura) = 0.91bits
Info(Umidade) = 0.79bits
info(Vento) = 0.89bits
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
63
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.
Chuvoso
Dia
Alta
Umidade Falso
Vento
Chuvoso Alta
Sim
Partida
Verdadeiro No
64
Dia
Umidade Partida
Ensolarado
Normal
Sim
Ensolarado
Normal
Sim
Nublado
Normal
Sim
Nublado
Normal
Sim
Chuvoso
Normal
Sim
Chuvoso
Normal
Sim
Chuvoso
Normal
No
Dia
Chuvoso
Chuvoso
Chuvoso
Umidade
Normal
Normal
Normal
Vento
Falso
Falso
Verdadeiro
Partida
Sim
Sim
No
65
(3.1)
67
(3.2)
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
????
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
(a)
(b)
Figura 3.12 rvore de Deciso No-Compacta (a) Antes e (b) Depois da Poda.
Positivo Previsto
Negativo Previsto
Positivo Real
Negativo Real
77
(a)
(b)
Figura 3.13 Tabela do Tempo (a) Formato .xls e (b) Formato .csv.
74
(a)
(b)
Figura 3.14 Arquivo Tabela_do_Tempo (a) .csv com Palavras-Chave, e (b) Arquivo .arff.
75
76
(a)
(b)
Figura 3.16 Aba Classify com a Opco (a) Choose para Escolher (b) o Menu de Algoritmos.
77
78
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
80
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
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
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
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
85
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
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.
87
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
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
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
(R 4.2)
Dia(Chuvoso) Partida=Sim
(R 4.3)
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
(R4.4)
(R 4.5)
90
91
Positivo Previsto
Negativo Previsto
Positivo Real
Negativo Real
92
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
93
Conjunto de Teste
Figura 4.2 Na Ressubistituio, o Conjunto de Treinamento tambm o Conjunto de Teste.
94
No Previsto
Sim Previsto
No Real
Sim Real
No Previsto
Sim Previsto
No Real
Sim Real
Conjunto de Teste
No Previsto
Sim Previsto
No Real
Sim Real
No Previsto
Sim Previsto
No Real
Sim Real
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
No Previsto
Sim Previsto
No Real
Sim Real
No Previsto
Sim Previsto
No Real
Sim Real
97
Iterao 1
Conjunto de Treinamento
Iterao 2
Iterao H
Conjunto de Treinamento
Conjunto de Treinamento
Iterao N
Conjunto de Treinamento
Conjunto de Treinamento
98
No Previsto
Sim Previsto
No Real
Sim Real
No Previsto
Sim Previsto
No Real
Sim Real
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
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
101
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
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
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
6 O Perceptron um tipo de Rede Neural simples, com apenas uma camada de neurnios.
106
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
108
(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
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
111
Figura 5.9 Exemplo de Transformao No Linear do Espao de Entrada para o Espao de Caractersticas.
112
x2
5
y = +1
4
y = -1
0,75
3
1
w
x1
2,5
5
Comprimento da ptala (cm)
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
114
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
115
wx1 + b = +1
wx2 + b = -1
(1)
(2)
x2
x1
wx + b = +1
Figura 5.13 - Equao do Classificador e Margens.
(5.1)
116
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.
117
118
119
120
121
123
Figura 5.22 Simulao com a Remoo de Alguns Pontos Perto das Bordas.
124
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
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
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
WITTEN, I. H. & FRANK, E. Data Mining: Practical Machine Learning Tools and
Techniques. Second Edition. Amsterdam: Morgan Kaufmann Publishers, 2005.
128
129
(a)
(b)
Figura 6.1 Face (a) Feliz e Face (b) Triste.
(a)
(b)
131
%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);
Um
exemplo
de
uso
aleatorias ("face50. arff",
desta
funo
"feliz", 50,
imagens_
img_a), e aps
132
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
b <--classified as
0 | a = triste
50 | b = feliz
b <-- classified as
3 | a = triste
49 | b = feliz
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.
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
b <--classified as
28 | a = triste
476 | b = feliz
135
136
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.
137
Figura 6.8 Comando Usado para Ler uma Imagem e Mostrar as suas Caractersticas.
138
139
(a)
(b)
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
(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.
function script_histograma
pasta = ['IMAGES/' ]; % pasta onde esto as imagens
141
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;
disp (num)
end
[cont, I]
{epit, adip}");
256
REAL"]);
end
256
if Gi == 256
142
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
144
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:
+
+
+
+
+
+
145
+
+
+
+
+
+
+
+
+
+
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
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
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