Post on 10-Nov-2018
UNIVERSIDADE TUITUI DO PARANA
FACULDADE DE CIENCIAS EXATAS E TECNOLOGICAS
BACHARELADO EM SISTEMAS DE INFORMACAO
POS-PROCESSAMENTO COMO UMA ETAPA DO PROCESSO
KDD - DESCOBERTA DE CONHECIMENTO EM BASES DE DADOS
CURITIBA
2003
JOAO VICENTE DE OLIVEIRA DUARTE
SIMONE CANESTRARO SENCO
POS-PROCESSAMENTO COMO UMA ETAPA DO PROCESSO
KDD - DESCOBERTA DE CONHECIMENTO EM BASES DE DADOS
Monografia apresentada como requisitoparcial a conclusao do Curso deBacharelado em Sistemas de Informa~aoda Universidade Tuiuti do Parana.
Orientador: ProP Elaini Simoni Angelotti
CURITIBA
2003
TERMO DE APROVACAO
JoAo VICENTE DE OLIVEIRA DUARTESIMONE CANESTRARO SENCO
P6S-PROCESSAMENTO COMO UMA ETAPA DO PROCESSOKDD - DESCOBERTA DE CONHECIMENTO EM BASES DE DADOS
Disserta~ao aprovada como requisito parcial para obten~ao do grau deBacharel no Curso de Sistemas de Informa~ao da Universidade Tuiuti doParana, pela comissao formada pelos professores:
Orientadora: Prof" Elaini Simoni AngelottiUniversidade Tuiuti do Parana
Prof" Dr" Deborah Ribeiro CarvalhoUniversidade Tuiuti do Parana
Prof" Giulliana Martins de Souza Vicen!inUniversidade Tuiuti do Parana
Prof" Andrt"ia de JesusUniversidade Tuiuti do Parana
Curitiba, 14 de novembro de 2003
AGRADECIMENTOS
Agrade~o primeiramente a Deus pela forya e dedida~ao
nessa conquista. Agradey.o aos meus pais pelo incentivo
e pelas orayoes dedicadas il realizayao deste trabalho.
Do fundo do meu corayao agradeyo ao meu esposo
Emerson, que esteve ao meu lado em todos os
momentos, obrigada meu querido pela sua ajuda e
paciencia dedi cad os nesses anDS de estudo.
Simone Canestraro Senco
Agradeyo pela ajuda da minha familia, principalmente
meus pais que me apoiaram nessa jornada. Agradeyo
Andressa minha namorada pela forya e compreensao que
tive durante esses anos de faculdade. Agradeyo
principalmente a Deus que me ajudou a acreditar nessa
conquista.
Joao Vicente de Oliveira Duarte
Agradecimentos sinceros a Professora e orientadora
Elaini Simoni Angelotti pela orientayao durante 0 trabalho
e a Professora e Doutora Deborah Ribeiro Carvalho pelo
estimulo e apoio ao trabalho.
iii
SUMARIO
LISTA DE FIGURAS ...•.•.••..........•....••••...............••.........•.•.........•......••.......•••.....••...vLISTA DE TABELAS •••..•...•...•....•.•.•••••.•.......••.••...•........••.•••...•.••..•.•.•••.•..•..•....••••••viRESUMO ...........••..................••..................•...•...........••............•......••...••..•.........•..viiABSTRACT .......•....•..............•..•................................•.••.......••.......•••.............••....viii1 INTRODUCAO .•••............•••.•.••...........••••.............•••.........•.•.......•......•.........•........12 REVISAO DE LITERATURA ••.••............••....•........•••........•.•.......••......•••......•......•42.1 0 PROCESSO DE DESCOBERTA DE CONHECIMENTO EM BANCO DEDADOS - KNOWLEDGE DISCOVERY DATABASES .42.1.1 Etapas do Processo KDD 72.1.1.1 Sele9ao de dados 82.1.1.2 Pre-processamento ou limpeza dos dados ... . 82.1.1.3 Transforma9ao.. . 92.1.1.4 Data mining (minera9ao de dados) . 102.1.1.5 Interpreta9iio e avalia9ao do conhecimento descoberto 112.2 DATA MINING (MINERACAO DE DADOS).. . 112.2.1 Tecnicas de Dala Mining ( Minera9ilo de Dados ).. .. 132.2.1.1 Descoberta de regras de associa9ao.. . .. 142.2.1.2 Arvore de decisao (classifica9ao) 192.2.1..3 Clustering 213 POS - PROCESSAMENTO PARA DATA MINING •.......••..........•...............•......233.1 MEDIDAS SUBJETIVAS..... . 253.2 MEDIDAS OBJETIVAS... . 253.2.1 Medidas de Interesse 263.2.1.1 IS .. 263.2.1.2 Taxa de acerto.. .. 274 METODOLOGIA 294.1 METODOLOGIA DA PESQUISA 294.2 METODOLOGIA DO DESENVOLVIMENTO 294.3 PROT6TIPO . ....365 EXPERIMENTACAO E RESULTADOS 446 CONCLUSAO ..................................................................................................• 49ANEXOS ......................................................•....•....................•.............................. 52ANEXO 1 - INSTALA<;AODOPROTOnpo.. .......52ANEXO 2 - REGRASDESCOBERTASPELOAPRIORIPARAA BASEDECOMPRADELNROS . 53ANEXO 3 - RESULTADODOPOS-PROCESSAMENTOSEMVALORATRIBUlooAOSUPORTEPARAA BASEDECOMPRADELlVROS... .. 57ANEXO 4 - RESULTADOSDASREGRASDESCOBERTASPARAA BASEHOUSE-VOTES 64
iv
LISTA DE FIGURAS
FIGURA 1 - AREA INTERDISCIPLINARES DO PROCESSO KDD CONFORMEADRIAANS (1996) CITADO POR GURECK (2001) 5
FIGURA 2 - 0 PROCESSO KDD E SUAS ETAPAS (FAVYAD, 1997)... .. 7
FIGURA 3 - 0 PROCESSO DE KDD VERSUS DATA MINING (CARVALHO, 1999) 10
FIGURA 4 - OBTENCAo DO CONHECIMENTO PARA TOMADA DE DECIS6ES(RoMAO,2002).. .. .... 12
FIGURA 5 - ETAPA DE P6S-PROCESSAMENTO.. .. .. 24
FIGURA 6 - TELA DE ENTRADA DOS DADOS .. ...36
FIGURA 7 - TELA DE SAIDA DAS REGRAS.. .. 37
FIGURA 8 - TABELA DE CONTINGENCIA.. .. 43
LISTA DE TABELAS
TABELA 1- MATRIZ BOOLENA PARA DESCOBERTA DE REGRAS DE
ASSOCIACAo.. . 16
TABELA 2 - SUPORTE PARA CONJUNTO DE UM ITEM.. . 16
TABELA 3 - SUPORTE PARA CONJUNTO DE 2 ITENS... ..17
TABELA4 - SUPORTE PARA CONJUNTOS DE TR~S ITENS.. .... 17
TABELA 5 - CONFIANCA PARA 0 CONJUNTO DE pAo E CAFE ..
TABELA 6 - CONFIANCA PARA 0 CONJUNTO DE MANTEIGA E CAFE ..
TABELA 7 - CONFIANCA PARA 0 CONJUNTO DE pAo E MANTEIGA ..
. 18
. 18
. 18
TABELA 8 - CONFIANCA PARA 0 CONJUNTO DE CAFE, pAo E MANTEIGA 18
TABELA 9 - DADOS DE ENTRADA PARA UM SISTEMA DE
CLASSIFICACAo.. .. 20
TABELA 10 - RESULTADO DO SISTEMA DE CLASSIFICACAo 20
TABELA 11 - AGRUPAMENTO POR COMPATIBILIDADE .. .... 22
TABELA 12 - AGRUPAMENTO POR COMPATIBILIDADE FINANCEIRA 22
TABELA 13 - TABELA DE CONTINGIONCIA PARA 0 CALCULO DA TAXA DE
ACERTO ...
TABELA 14 - BASE DE DADOS NAo REAL ....
. 28
. 31
TABELA 15 - BASE DE DADOS ORIGINAL SEM CATEGORIZACAO (BASE DECOMPRA DE LlVROS).. .. .. 38
TABELA 16 - BASE DE DADOS CATEGORIZADA .. .. 38
TABELA 17 - REGRAS DESCOBERTAS PELO SOFlWARE APRIORI PARA A BASEDE COMPRA DE LlVROS .. . 39
TABELA 18 - RESULTADOS GERADOS PELO PROTOTIPO PARA A BASE DECOMPRA DE LlVROS.. .. ... 40
TABELA 19 - REGRAS DESCOBERTAS PARA A BASE HOUSE-VOTES COM OSMAIORES VALORES DE IS.. . .. 45
TABELA 20 - REGRAS DESCOBERTAS PARA A BASE HOUSE-VOTES COM OSMAIORES VALORES DE TA.. ..... 46
TABELA 21 - REGRAS DESCOBERTAS PARA A BASE DE COMPRA DE LlVROS COMOS MAIO RES VALORES DE IS... .. 47
TABELA 22 - REGRAS DESCOBERTAS PARA A BASE DE COMPRA DE LlVROS COMOS MAIORES VALORES DE TA.. . .. 48
vi
RESUMO
Muitos dos algoritmos de data mining produzem uma longa lista de regras
onde 0 usuario precisa encontrar aquelas que sao realmente interessantes e
lucrativas. Dessa forma, torna-se necessano uma segunda fase de data mining
chamada p6s-processamento. 0 p6s-processamento e aplicado com 0 intuito de
podar ou "ranquear" os padroes descobertos de acordo com seus graus de
interesse. Neste trabalho, duas medidas de p6s-processamento fOTam
implementadas e os resultados experimentais mostraram que se uma regra esta
100% correta, nao significa que a mesma e uma regra interessante.
Palavras-chave: regras de associayao, p6s-processamento, data mining e medida
de interesse.
vii
ABSTRACT
Most of the data mining algorithms produce a long list of rules in which it is
up to user to find ones that are really important and profitable. Therefore, there is a
need a second phase of data mining called post-processing. The post-processing
is applied with the aim of prune or rank the discovered patters according to their
degree of interestingness. In this paper, two measures of post-processing was
implemented and the experimental results show that if a rule is 100% correct,
doesn't mean that this rule is an interesting rule.
Key-words: association rules, post-processing, data mining, interestingness
measures.
viii
INTRODUCAO
A cada ana, companhias acumulam mais e mais informa~oesem seus
bancos de dados. Como conseqGencia, estes bancos de dados passam a conter
grande quantidade de dados sobre varios procedimentos dessas companhias.
Esta quantidade de dados armazenados em meio digital e atualmente urn
dos problemas mais graves que surgiram com 0 advento da tecnologia, porque
requer uma grande quantidade de espa90 em disco para 0 armazenamento e
dificulta a extra9ao de informa90es potencialmente uteis que possam contribuir
para tomadas de decisao dentro da propria empresa (GIMENES, 1999).
Em base de dados como de transa90es comerciais, redes de
supermercados, universidades e bancos, p~r exemplo, 0 tamanho das bases
cresce exponencialmente. Uma forma de aproveitar esses dados e tentar detectar
tendencias e caracteristicas disfar9adas a fim de melhorar os procedimentos da
organiza9ao e permitir que a mesma reaja rapidamente a urn evento que ainda
pode estar para acontecer.
Para setores estrategicos na maioria das organiza90es 0 que importa
realmente nao sao as dados em si, mas sim 0 conhecimento que pode ser
extraido deles apresentados de forma adequada.
No entanto, apesar do enorme valor desses dados, a maioria das
organiza95es e incapaz de aproveitar totalmente 0 que esta armazenado em seus
arquivos. 0 conhecimento contido em bases de dados esta na verdade implicito,
escondido sob uma grande massa de dados, e nao pode ser descoberto
utilizando-se sistemas de gerenciamento de banco de dados convencionais
(ROMAO, 2002 ).
Dentro da area de Inteligencia Artificial, existe uma area responsavel pela
descoberta do conhecimento em grandes bases de dados que e 0 Knowledge
Discovery Databases (KDD). ° processo KDD compreende cinco etapas: a)
Sele9ao de Dados; b) Pre-Processamento; c)Transforma9ao; d) Data Mining; e)
Interpreta9ao e Avalia9ilo (FAYYAD, 1996).
A area de descoberta de conhecimento em bases de dados, vern se
estabelecendo como uma das areas de pesquisa mais interessantes dos ultimos
tempos, na medida em que estabelece como urn de seus principais objetivos
aumentar a competitividade, eficiencia e capacidade de adapta9ao das empresas
as necessidades de seus ctientes.As tecnicas utilizadas no processo KDD podem descrever earacteristicas
do passado, assim como predizer tendencias para 0 futuro. Sua utiliza9ao permite
avan90s tecnol6gicos e descobertas cientificas, alem de garantir uma vantagem
competitiva (GIMENES, 1999).
Um dos algoritmos que pode ser utilizado dentro da etapa de data mining
e 0 algoritmo de regras de associa9ao, que tem como objetivo buscar um
relacionamento entre um conjunto de dados. Particularmente, quando adotamos
algoritmos de Descoberta de Regras de Associa91io em base de dados, na
grande maioria das vezes, 0 conjunto de regras descoberto apresenta um alto
nivel de redundancia, 0 que dificulta a analise a ser desenvolvida pelo usuario
objetivando a tomada de decisao (IKIZlER, 2001).
Alem disso, em alguns casas pode ocorrer a descoberta de conhecimento
muito 6bvio eu irrelevante e que poueD acrescenta ao conhecimento ja existente
sobre 0 dominio. No caso particular das regras de associa91io, a gera9ao de um
numero elevado de regras contribui para dificultar sobremaneira a interpreta9ao
do conjunto de regras pelo usuario.
Desta forma, surge a necessidade que dado um conjunto de regras de
associat;oes descoberto, sejam eliminadas as regras que alem de nao auxiliaremo processo decis6rio, aumentam a complexidade do conhecimento descoberto.
A elimina9ao de regras "nilo-interessantes" pode ser feita atraves de uma
tecniea de P6s-processamento do conhecimento descoberto. 0 p6s-
processamento envolve a subsele9ao de resultados volumosos e a aplica9ao de
tecnieas de visualiza9ao para auxiliar 0 entendimento. Essa etapa e responsavel
pelo tratamento das regras extraidas na etapa de data mining antes que as
mesmas sejam apresentadas ao analista, a fim de que 0 trabalho de sua
interpreta9ao seja facilitado e mais produtivo.
o presente trabalho sera foeado principalmente sobre a fase de P6s-
Processamento. Dessa forma, 0 objetivo do projeto e desenvolver um prot6tipo
que realizara a tareta de p6s-processar as regras descobertas por um algoritmo
que descobre regras de associa91io (para este trabalho sera utilizado 0 algoritmo
APRIORI), atraves de duas medidas objetivas de p6s-processamento, permitindo
nao somente avaliar a qualidade do conhecimento adquirido e ratificar 0
conhecimento preexistente, mas especialmente identificar 0 conhecimento
considerado interessante.
2 REVISAO DE LITERATURA
2.1 0 PROCESSO DE DESCOBERTA DE CONHECIMENTO EM BANCO DE
DADOS - KNOWLEDGE DISCOVERY DATABASES
o ambiente de neg6cios cresce muito, e com ele cresce lambem a
quantidade de informayoes armazenadas, tornando a tecnologia da informayao 0
fator chave para se conseguir destaque no mercado. A melhor utilizayao da
tecnologia da informayao pelos competidores se apresenta como uma vantagem,
pois esta agrega val ores nas decisoes a serem tomadas, sendo que estas
decisoes sao cruciais e tern de serem mais eficientes possiveis.
Visando, portanto, a busca pela melhor utilizayao da tecnologia da
informayao, organizayoes estao migrando cada vez mais para 0 processo de
descoberta de conhecimento em bases de dad os, cujo objetivo e a minerayilo de
dados (Data Mining) para obtenyao de conhecimento util e respectiv~ lucro
atraves da aplicayiio desse conhecimento descoberto.
o processo de KDD e 0 processo de descoberta de conhecimento em
base de dados e foi proposto em 1989 para referir-se as eta pas que produz
conhecimento a partirdos dados. (FAYYAD, 1998).
A Descoberta de Conhecimento e uma area de interesse para
pesquisadores de diversas areas, entre elas, estatistica e matematica, banco de
dados, aprendizado de maquina, sistemas especialistas e reconhecimento de
pad roes. Independente da area de interesse do pesquisador, 0 desenvolvimento
do processo de KDD combina tecnicas, algoritmos e definiyoes de todas estas
areas (GURECK, 2000).
A figura 1 demonstra a relayiio existente entre as diversas areas
envolvidas no processo de descoberta do conhecimento.
Figura 1 - Area interdiscipJinaresdo processo KDD conforme ADRIAANS
(1996) citado por GURECK (2001)
Sistema Especialista ;, urn agrupamento organizado de pessoas,
procedimentos. banco de dados usados para sugerir urna decisao em urna area
au dominic. Atua como urn profissional especializado com muita experiencia erndeterminado dominio, e desenvolvido em parte atrav;,s de exaustivas entrevistas
e observa¢es de profissionais, buscando extrair seu conhecimento do referido
dominic especializado. Os conhecimentos de urn sistema especiaJista sao
compostos de descobertas e fatos.
A Estatistica e urn processo para gerar bons modelos, mesmo que toda a
informayao necessaria nao esteja presente. Testes estatisticos sao necessarios
para validar a qualidade do modelo, como por exemplo predizer 0 comportamento
de clientes. A Estatlstica disponibiliza urn grande numero de procedimento
tecnicos para as tarefas de Data Mining.
Na area de bases de dados 0 objetivo e melhorar a explorayao das
caracteristicas dos dados a serem pesquisados, facilitando 0 trabalho dos
envolvidos no processo.
As tecnicas de visuaJizayaOsao metodos muito uteis na interayao entre 0
processo de descoberta e 0 ser humano. A visuaJizayao dos dados pode ser
considerada uma tecnica que permite uma maior compreensao dos padroes
descobertos. Pode-se usar graficos para apresentar as regras, curvas de nlveis,
icones e figuras, para dar suporte a analise e descobrir principios que estao
embutidos nestes dados.
A aplica9ao de KDD, muitas vezes, se depara com os seguintes desafios:
bancos de dados enormes ou poucos dados; muitas dimensoes; mudan9a nos
dados; dados com ruido ou perda de dados; intera9ao complexa entre atributos,
etc.
Por esse motiv~, 0 processo KDD consiste em uma serie de etapas que
sao executadas de forma interativa e iterativa (SANTOS, 2000). Interativa porque
envolve a coopera9iio da pessoa responsavel pela analise dos dados, cujo, 0
conhecimento sobre 0 dominic orientara a execu9iio do processo. A itera9ao, por
sua vez, deve-se ao fato de que, com freqOencia, esse prccesso nao e executado
de forma seqOencial, envolvendo repetidas sele90es de parametros e conjuntos
de dados, aplica90es de tecnicas de minera9ao e posterior analise dos resultados
obtidos a fim de refinar os conhecimentos extraldos.
Particularmente, KDD tem obtido sucesso na area de marketing, onde a
analise de banco de dados de clientes revela padroes de comportamento e
preferencias que facilitam a defini9ao de estrategias de vendas. A empresa
American Express, por exemplo, fez aumentar as vendas de cartao de cn,dito em
15 a 20% com a utiliza9ao de marketing auxiliado por tecnicas de KDD (BERRY,
1996).
Na defini9ao de FAYYAD (1997), KDD e descrito como um processo geral
de descoberta de conhecimento composto por varias etapas: sele9ao de dados,
limpeza ou pre-prccessamento, transforma9ao, data mining, interpreta9ao e
avalia9iio dos relatorios e consolida9ao do conhecimento descoberto.
Os algoritmos de data mining normalmente geram muitas regras e, para
facilitar 0 trabalho do analista, pede ser adicionado entre a etapa de minera9ao de
dados e a interpreta9iio e avalia9ao, a etapa de p6s-processamento que tem por
objetivo reduzir 0 numerc de regras descobertas na etapa de data mining, como
mostra a figura 2.
Figura 2 - 0 processo KDD e suas etapas (FAYYAD, 1997)
2.1.1 Etapas do Processo KDD
o processo de KDD come9a com 0 entendimento e defini9ao do dominio
da aplica9i1o e dos objetivos finais a serem atingidos. Em seguida, e leito um
agrupamento organizado de uma massa de dados. A etapa da limpeza dos dados
vem a seguir, atraves de um pre-processamento dos dados, visando adequa-Ios
aos algoritmos. Os dados pre-processados devem ainda passar pela etapa de
transforma~ao que as armazena adequadamente. Prosseguindo no processo,
chega-se a lase de Data Mining, que come9a com a escolha do algoritmo a ser
aplicado. A ultima etapa do processo KDD tem como objetivo interpretar 0
conhecimento descoberto. A seguir serao descritas as seis etapas do processo
KDD.
2.1.1.1 Sele9ilo de dados
Uma vez definido 0 dominio sobre 0 qual se pretende executar 0 processo
de descoberta, 0 pr6ximo passo e selecionar e coletar 0 conjunto de dados. A
maioria das empresas jil possui bases de dados, mas nem sempre estao de
acordo com as necessidades definidas pelo dominio apresentado. Alem disso,
nem sempre todos os dados necessarios estilo disponiveis nestas bases, 0 que
exige um trabalho de compatibiliza9ao (GIMENES, 1999).
As bases podem conter inconsistancias nos dados, dados imprecisos ou
incompletos que sao dados classificados separados do lote principal. E importante
observar que estes dados que silo classificados separados, podem se constituir
justamente nas caracteristicas nao 6bvias que estamos procurando.
Algumas bases de dados sao atualizadas diariamente, enquanto que
outras podem conter informa90es datadas de varios anos. Diferentes bases de
dados usadas em diversas unidades da empresa podem usar diferentes tecnicas
para identificar clientes: usar strings ou numeros. Estes exemplos mostram que
juntar informa90es de base de dados operacionais para iniciar uma atividade de
KDD nao e exercicio trivial (ADRIAANS, 1996).
2.1.1.2 Pre-processamento ou limpeza dos dados
Ap6s a realiza9ao da coleta dos dados, a proxima etapa e realizar uma
limpeza nos dados. 0 principal objetivo desta etapa e fornecer dados com alta
qualidade para serem manipulados nas proximas etapas do processo de
descoberta do conhecimento. Os dados em um banco de dados podem ter
diversos problemas relacionados com a qualidade, tais como: informa90es
incompletas, dados esparsos, informa90es redundantes, ruidos e incertezas.
Quando se dispOede uma pequena quanbdade de dados, onde todos os
exemplos sao importantes, tenta-se substituir 0 ruido por valores consistentes ao
dominio em questao ou ate mesmo gerar dados manualmente. Para 0 caso em
que a quantidade de dados e grande, tenta-se eliminar os dados que contem
ruido. 0 ruldo pode ser valores incertos, nulos ou inexistentes e, cujo significado
muitas vezes e desconhecido. Esta situa9ao pode ser um problema significativo
na tarefa de descoberta de padrees, pois gera incerteza sobre os resultados,
desencadeia a necessidade de uma serie de procedimentos que possam tratar os
ruidos e, exige uma maior amostragem dos dados e um maior conhecimento do
domlnio (GHEDINI,2000).
Para se eliminar estes problemas, pode-se realizar algumas opera,Des
basicas, tais como, remo,&o de ruido, coleta de infarma,oes, defini,ao de
estrategias para manipular as atributas, rema,aa au altera,ao das dados
incansistentes, retirada de dados desnecessarias e escolha das estrategias para
manipular campos de dadas perdidas. Issa se faz atraves da integra,aa de dadas
heterageneos, eliminay80 de incompletude dos dadas, repetiyao, problemas de
tipagem, etc. Essa etapa pode tomar ate 80% do tempo necessario para toda a
processo (GIMENES, 1999).
2.1.1.3 Transformayao
° enfoque desta etapa e deixar os dados no formata e limitayees exigidas
pelos algoritmas de extrayao de dadas. Para atingir este abjetivo, a base de
dados e analisada no sentida de se verificar se contem apenas dadas uteis, a que
evitara a ocorrencia de problemas posteriares quando as consultas forem
realizadas, visanda facilitar 0 usa das recnicas de Mineray80 de Dados e garantir
rapidez e precisaa aos resultados.
° pracessa de transformayao se faz necessario quando existem dados
que estao apresentados em um nlvel de detalhe nao adequado para a
processamenta. Par exempla, se forem processadas as datas de nascimento ao
inves de idades ou faixas etarias, um algoritma pravavelmente ira tratar as
pessoas em grupos de uma mesma data de nascimenta (dia/mes/ano) a que,
normalmente, gera um nivel de especializa,8a muita maior do que a necessaria.
Na grande maioria das aplica,ees, 0 nlvel de exigencia e a de grupos etarios,
podendo chegar no maximo a idades individuais, mas raramente acorrem
demandas para as datas de nascimento no farmato dia/mes/ano. Desta forma, a
data de nascimento necessita de transfarmay80 para ser modificada em idade au
mesma em intervalas de idade dependenda da natureza da aplicayao
(CARVALHO, 1999).
10
2.1.1.4 Data mining (minera9ao de dados)
Data Mining e a etapa de descoberta de conhecimento e informa90es
uteis a partir de grandes conjuntos de dados armazenados. Com 0 rapido
crescimento da informatiza9iio, e por conseqOencia, da quantidade de
informal;tOes armazendas, 0 desenvolvimento de ferramentas eficientes de
minera9ao de dadas se tornou urn desafio importante em diversas areas de
pesquisa, como analise de riscos, marketing, controle de qualidade, analise de
dados cientificos, entre outros. Data Mining define a processo automatizado de
captura e analise de enormes conjuntos de dados, para entao extrair um
significado a firn de apoiar decisoes.
Na etapa de Data Mining e escolhido um algoritmo de minera9aO de
dados, ou seja, seleciona(m)-se o(s) algoritmo(s) a ser(em) utilizado(s) para
procurar padr6es nos dadas. Em outras palavras, aqui sera definida a estrutura de
dados a ser utilizada na aplica,ao para a processo de descoberta do
conhecimento. Isto inciui decidir quais modelos e parametros podern ser
apropriados para as etapas de minera9ao de dados.
A Figura3 representa graficamente a rela,ao entre a processo de KDD e
Data Mining, onde KDD se refere a todo a processo de descoberta do
conhecimento e Data Mining compreende a etapa referente Ii aplica9aO de
algoritmos para extra9ao de padr6es a partir dos dados (CARVALHO, 1999).
Figura 3 - °processo de KDD versus Data Mining (CARVALHO, 1999)
II
2.1.1.5 Interpreta9>loe avalia9ao do conhecimento descoberto
Nesta etapa realiza-se a interpreta9ao dos padr6es extraldos. A avalia9ao
dos padr6es encontrados poden' provocar urn retorno a alguma das etapas
anteriores para uma nova itera9>lo. Os padr6es identificados pelo sistema sao
interpretados em conhecimento que pode entao ser usado para apoiar nas
decisoes humanas como por exemplo classificar tarefas, resumir os conteudos de
urn banco de dados ou explicar fen6menos observados.
Para facilitar a interpreta9ao dos resultados pode ser importante 0
desenvolvimento de urn aplicativo para visualizar os resultados. A visualiza9ao
dos dados pode ser feita atraves de g",ficos de exibi9ao dos dados na tela ou da
gera9>lode relatorios impressos.
2.2 DATA MINING (MINERAi;Ao DE DADOS)
A Minera9ao de Dados e uma tecnica que permite buscar em uma grande
base de dados, 0 conhecimento que aparentemente esta camuflado ou
escondido, permitindo com isso, agilidade nas tomadas de decisao. 0 uso de uma
ferramenta de Data Mining nao e apenas utilizada pela sua agilidade, mas
tambem pela sua pr6pria capacidade de analisar grandes quantidades de dados
proporcionando informa90es de maior qualidade e, embasando ainda mais nas
tomadas de decisao.
Segundo FAVYAD (1996), Data Mining e urn processo nao trivial de
identificar em dados padr6es validos, novos, potencialmente uteis e
compreensiveis. Essa defini9>lo pode ser enfalizada pela defini9ao de ZANASI
(2001), que define Data Mining como uma ferramenta capaz de lidar com grandes
massas de dados de uma forma mais eficiente que a estalistica, conseguindo
deftnir padr6es para fen6menos complexos que depende de muitos parametros.
Como visto anteriormente, Dala Mining e uma etapa no processo de
descoberta de conhecimento, onde sao processados algoritmos de descoberta de
padr6es. As tecnicas rnais aplicadas sao Regras de Associa9>lo, Classifica9>lo e
Clustering. (FAVYAD, 1996).
12
A Minera9'10 de Dados define 0 processo automatizado de captura e
analise de enormes conjuntos de dados, para entao extrair informa90es implicitas
e revelar caracteristicas do passado, assim como predizer tendencias para 0
futuro, permitindo descobertas cientlficas, alem de garantir vantagens
competitivas e fornecer suporte a decis6es do neg6cio (FAYYAD, 1996).
Esta tecnica oferece uma poderosa alternativa para as empresas
descobrirem novas oportunidades de neg6cio e, acima de tudo, tra9arem novas
estrategias para 0 futuro. A figura 4 mostra que quanto maior for a quantidade de
dados em sua base, menor sera a seu conhecimento da base.
Dados Volume
Figura 4 - Obten9aOdo conhecimento para tomada de decisoes (ROMAO,
2002)
Na base do triangulo estao os dados, os quais tomam 0 maior volume da
mem6ria do computador, e oferecem pouca utilidade estrategica na hora de se
tomar decisoes. A partir dos dados e possivel obter muita informa9ao atraves de
aplicativos desenvolvidos para fins especificos ou atraves das ferramentas dos
Sistemas Gerenciadores de Banco de Dados (SGBD) que eXigem conhecimento
das mesmas por parte do analista para se obter 0 maximo proveito da massa de
dados disponiveis e em crescimento.
A partir das informa90es ou dos proprios dados e possivel extrair um tipo
de informa9ao mais completa, 0 conhecimento, normalmente mais resumido e em
menor quantidade, mas de maior inteligibilidade para se tomar decisoes. No topo
do triangulo, aparecem as decisoes realizadas pela ger,mcia com
conhecimento obtido pela ferramenta de Minera~o de Dados.
A aplica9ao de algoritmos especificos deve garantir que 0 tipo e forma do
conhecimento obtido estejam adequados ao processo de tomada de decisoes
nlpidas e inteligentes. 0 produto principal de qualquer ferramenta de apoio II
decisao e 0 conhecimento que ela pode fornecer. Existem inumeras tecnicas
capazes de extrair conhecimento em banco de dados, mas em geral este
conhecimento ainda e de grande volume, dificultando a tomada de decisoes
(ROMAo,2002).
Para viabilizar decisoes eficientes, devem ser implementadas ferramentas
de apoio II tomada de decisilo capazes de extrair conhecimento novo e
surpreendente a partir de banco de dados. Para implementar ferramentas como
essas e necessario conhecer as etapas do processo KDD (Knowledge Discovery
in Database), descrito na se9ilo 3.1.
2.2.1 Tecnicas de Data Mining ( Minera9ao de Dados)
Conforme FAYYAD (1996), os dois objetivos de mais alto nivel que se
tem interesse com a aplica9ao de t"cnicas de minera9ao de dados silo a predi9ilo
e a descri~o.
Os padroes do tipo preditivo sao os que procuram predizer valores futuros
de um ou mais atributos variaveis do banco de dados com base em valores
conhecidos de outros atributos. Os do tipo descritivo, por sua vez, procuram
descrever padroes encontrados nos dados em um formato que seja interpretavel
pelo homem (PITONI, 2002).
A importancia desses dois tipos de padrao varia muito com a
particularidade das aplica90es de minera~o. Na descoberta de conhecimento em
banco de dados, no enlanto, os padriles descritivos freqUentemente sao mais
importantes que os preditivos (FAYYAD,1996). Islo ocorre, pois 0 padrao preditivo
e eficaz na busca de uma resposla para um problema especlfico e bem definido,
o que nao e 0 caso do contexte da descoberta de conhecimento em banco de
dados, no qual se possui apenas um conjunlo de dados como ponto de partida do
qual se quer extrair informa90es (PITONI,2002).
14
2.2.1.1 Descoberta de regras de associa,ao
o interesse em encontrar informa,oes em bases de dados se da,
principalmente, pelo avan,o da tecnologia de entrada de dados, como c6digo de
barras, cartao de credito e internet que facilitaram a coleta de quantidades
massivas de dados para armazenamento (PITONI,2002).
Urn dos tipos comuns de padroes que podem ser exlraidos atraves da
mineracrao de dados sao as regras de associayao, que representam a
probabilidade de que urn item apare,a em urn conjunto, ou transa,ao, visto que
outr~ esta presente. Essas regras tern side utilizadas principalmente no comercio
varejista para a analise dos itens adquiridos pel os consumidores em uma cesta decompra. Urn exemplo de tal padrao e a declara,ao de que "80% dos clientes que
adquirem 0 produto A, tambem levam 0 produto B na mesma ocasiao" (BRUSSO,
2000).
A associa-;ao resume-se em encontrar afinidades entre as dados de uma
certa natureza a partir de urn grande numero de transa,oes, que permitem 0
entendimento de alguns padroes.
Dessa forma, as regras de associa,ao objetivam encontrar
relacionamentos entre conjuntos de dados. Dado urn conjunto de transa,oes,
onde cada transa,ao e urn conjunto de itens, uma regra de associa,ao e uma
expressao do tipo X 7 Y , (Se X entao Y), onde X e Y sao conjuntos de itens, X (")
Y = 0 (PITONI,2002).
Duas medidas utilizadas em algoritmo de Regras de Associayao sao
suporte e confianya.
Suporte e Confianya servem para limitar a quantidade de regras exlraidas
e sao definidos antes da exlrayao.
o suporte de uma regra e calculado pela f6rmula 1 abaixo (FREITAS,2000):
Suporle (Sup) = Nr.de registros com XeYNr _ total _ de _ registros (1)
Suparte e a numera de transayoes contendo 0 conjunto de itens, dividido
pelo numero de total de transayoes.
15
Suporte quantifica a incidencia da regra no conjunto de dados, ou seja,
indica a frequencia com que X e Y ocorrem juntos no conjunto de dados. 0
suporte e equivalente a probabilidade P(X,Y), isto e, a probabilidade de que X e Y
ocorram simultaneamente (MELANDA, 2002).
Confian,a indica a frequencia com que X e Y ocorrem juntos em rela,ao
ao numero total de registros em que X ocorre, e equivalente a probabilidade
condicional P(Y/X), ou seja, representa a probabilidade de ocorrencia de Y, dado
que X ocorre(MELANDA, 2002).
A confian,a de uma regra e calculado pela f6rmula 2 abaixo (FREITAS,2000):
COlJfian~a (Con! ) = Nr .de regislrosNr _ de _ regislros com
XerX (2)
com
Para melhor explicar como funciona um algoritmo que descobre regras de
associa9<lo,0 exemplo mais utilizado e a compra de uma cesta de mercado, onde
cada registro corresponde a uma transa,an de um cliente. Utilizando um algoritmo
de regra de associa,ao podemos mapear os produtos que tem mais saida com
outros produtos.
o algoritmo tem duas fases, para a descoberta das regras de associa,ao:
l' Fase
Descobrir conjunto de itens frequentes, ou seja, descobrir todos os
conjuntos de itens com suporte maior eu igual ao minima suporte especificado
pelo usuario (FREITAS, 2000).
2' Fase
Descobrir regras com alto fator de confian,a, ou seja, a partir dos
conjuntos de itens frequentes, descobrir regras de associa,ao com fator de
confianya maior eu igual ao especificado pelo usuiuio.
A seguir, sera apresentado um exemplo da aplica,ao do algoritmo de
regras de associa,ao para uma base de dados de um supermercado, retirado de
Freitas (2000).
16
Neste exempla, cada registra e uma venda, indicanda se a cliente
camprau au naa urn item (s au n).
Leite Cafe Cerveja Pao Manteiga Arroz Feijao1 N S N S S N N2 S N S S S N N3 N S N S S N N4 S S N S S N N5 N N S N N N N6 N N N N S N N7 N N N S N N N8 N N N N N N S9 N N N N N S S10 N N N N N S N
Tabela 1- Matriz Baalena para descaberta de regras de assacia,aa
l' Intera,aa da l' fase:
A primeira intera,aa cansiste em calcular a suparte para canjuntas com
apenas 1 item, utilizanda a f6rmula de suparte especificada no inicia desta se,aa.ltens Suparte
Leite 0,2Cafe 0,3Cerve"a 0,2Pao 0,5Manteiga 0,5Arroz 0,2Ferao 0,2
Tabela 2 - Suparte para canjunto de urn item
Apenas as canjuntas de itens frequentes com suparte >= 0,3 seraa
selecionadas. Para a exempla as canjuntas selecianadas seraa: Cate, paa e
manteiga.
2' Intera,aa
A segunda intera,aa cansiste em calcular a suparte para conjuntas com 2
itens. Se urn item X naa e frequente, urn canjunta com 2 itens, urn dais quais e 0
17
item X, nao pode ser freqOente. Logo, conjuntos contendo 0 item X podem ser
ignorados (FREITAS, 2000).
Dessa forma, calculamos 0 suporte apenas para os conjuntos de itens
abaixo:
Su orte0,3030,4
Tabela 3 - Suporte para conjunto de 2 itens
Serao selecionados os conjuntos de itens freqOentes com suporte>=O,3.
Isto ';,os conjuntos acima: {Cafe, Pao}, {Cafe, Manteiga}, {Manteiga, Pao}
3' Intera9aO
A terceira intera9aO consiste em calcular suporte para conjuntos com 3
itens.
Se 0 conjunto de itens {I,J} nao ,; freqOente, urn conjunto com 3 itens
incluindo os itens {I,J} nao pode ser freqOente. Logo, conjuntos contendo os itens
{I,J} pod em ser ignorados (FREITAS, 2000).
I ltens SuporteCafe, paD, manteiga 0,3
Tabela 4 - Suporte para conjuntos de tres itens
Conjunto de itens freqOentes (Sup >= 0,3) {Cafe, pao, manteiga}
Para 0 exemplo em questao, sera gerado apenas 1 conjunto com 3 itens
e 0 mesmo sera selecionado por possuir suporte >= 0,3.
2' Fase
A segunda fase tern como objetivo calcular 0 fator de confian9a de regras
candidatas, geradas a partir de conjuntos de itens freqOentes.
18
o calculo da confian~a de cad a regra e gerado aplicando-se a f6rmula
descrita no inlcio desta se~ao. Os resultados obtidos podem ser visualizados a
seguir.
Conjunto de itens {cafe, pao}
Confian~a
06
Tabela 5 - Confian~a para a conjunto de pao e cafe
Conjunto de itens {cafe, manteiga}
ltens Contia" aSE caf. ENTAO mantei aSE mantei a ENT 0 cafe 06
Tabela 6 - Confian~a para a conjunto de manteiga e cafe
Conjunto de itens {manteiga, pao}
Contian a0,80,8
Tabela 7 - Confian~a para a conjunto de pao e manteiga
Conjunto de itens {cafe, pao, manteiga}
ltens Confian~aSE cafe, piio ENTAO manteiga 1SE cafe, manteiga ENTAO pao 1SE mantei a, oao ENTAD cafe 0,75SE caf. ENTAO pao, manteiga 1SE aD ENTAO cafe, mantei a 06SE manteiga ENTAO cafe, paD 0,6
Tabela 8 - Confianya para a conjunto de cafe, pao e manteiga
Apes aplicar a calculo da confianya, selecionam-se as regras de
confianya maior au igual ao valor minima especificado. Supondo que a confianya
19
especificada pelo usuario seja 0,8, as regras selecionadas serao aquelas com
confian9a >= 0,8 e sao mostradas abaixo:
SE cafe ENT 110 pao Conf = 1
SE cafe ENT 110 manteiga Conf = 1
SE manteiga ENT 110 pao Conf = 0,8
SE pao ENTAo manteiga Conf = 0,8
SE cafe, pao ENTllo manteiga Conf = 1
SE cafe, manteiga ENTllo pao Conf = 1
SE cafe ENT 110 pao, manteiga Conf = 1
2.2.1.2 Arvore de decisao (classificayao)
A classifica9ao e uma tarefa em data mining cujo objetivo e: dado um
conjunto de registros compostos por um atributo meta e varios atributos
previsores, aplica-se um ou varios algoritmos de classifica9ao para descoberta de
relacionamento (regras de classifica9ao) entre os atributos previsores e 0 atributo
meta (VICENTIN, 2003).
A principal tarefa do algoritmo e descobrir um relacionamento entre os
atributos previsores e 0 atributo meta, usando registros cuja classe e conhecida.
A combina9ao de valores e classe associada gera uma regra, chamada
regra de induyao. 0 objetivo de uma regra de indu9aO e analisar uma serie de
dados e, a partir destes dados, gerar padroes (VICENTIN, 2003).
As regras de classifica9i!0 tem 0 seguinte formato:
SE atributo(s) previsore(s) = valor(es)
ENTAO atributo meta = valor
Quando se aplica, pela primeira vez, um algoritmo de classifica9ao sobre
um data set (conjunto de dados), apenas parte deste data set - chamado de
dados de treinamento (trainning set) - e usado para gerar as regras de
classifica9aO.
Ap6s a fase de descoberta de regras, deve-se utilizar 0 relacionamento
descoberto para prever a classe, isto e, 0 valor de um atributo meta dado um
20
conjunto de registros com classe desconhecida - os chamados dad os de teste.
Em seguida, deve-se validar 0 conhecimento descoberto (FREITAS, 2000).
Outro ponto a ser observado e que a divisao dos dados do data set em
teste e treinamento deve ser feito de forma aleatoria, com a finalidade de manter
a divisao dos dados homogenea.
Para exemplificar a funcionalidade da tecnica de ciassifica9ao, considere
o exemplo descrito por FREITAS (2000), citado por CARVALHO (2002), referente
a uma editora internacional que pretende publicar 0 livro "Guia de restaurantes
franceses na Inglaterra" em 3 paises: Fran9a, Inglaterra e Alemanha.
A editora tem um banco de dados de clientes destes 3 paises e deseja
saber quais clientes sao mais prov;;veis compradores. (para fins de mala-direta)
Para coletar mais dados a editora poderia, enviar material de propaganda
para uma amostra de clientes registrando se cada cliente que recebeu a
propaganda comprou ou nao 0 livro, gerando tabela abaixo:
Saxo Pais Idade CompraM Franca 25 SimM Inglaterra 21 SimF Franca 23 SimF Inglaterra 34 SimF Franca 30 NiloM Alemanha 21 NaoM Alemanha 20 NaoF Alemanha 18 NiloF Franca 34 NaoM Franca 55 Nilo
Tabela 9 - Dados de entrada para um sistema de classifica9ao
Cada registro da tabela 9 e uma venda, com 0 item comprar assumindo
valores binarios (sim ou nao). Abaixo segue algumas regras de classifica9ao
descobertas a partir dos dados de entrada da tabela 9.
'SE (pais = "Alemanha") ENTAo (comprar = "nao")
'Se (pais = "Inglaterra") ENTAo (comprar = "sim")
·SE (pais = "Fran98" E idade <= 25) ENTAo (comprar = "sim")
·SE (pais = "Fran9a" E idade > 25) ENTAo (comprar = "nao")
Tabela 10 - Resultado do sistema de classifica9ao
2.2.1.3 Clustering
21
A clusterizaryao geralmente e usado para uma explorayao au
entendimento inicial dos dados (FREITAS, 2000).
Muitas vezes a clusteriza,ao e uma das primeiras etapas dentro de um
processo de Data Mining, jil que identifica grupos de registros correlatos, que
serao usados como ponto de partida para futuras explorayoes. 0 exemplo
classico e 0 de segmentayao demografica, que selVe de inicio para uma
determinayao das caracteristicas de um grupo social, visando desde hilbitos de
compras ate utilizayao de meios de transporte.
Segundo FREITAS (2000), 0 sistema "inventa" classes, agrupando
registros semelhantes (isto e, com valores de atributos semelhantes) em uma
mesma classe como mostra no grafico 1.
A2
@~ --.A1
G",fico 1 - Agrupamento de registros
Os exemplos nso sao previamente classificados. Cada cluster (grupo)
criado pode ser visto como uma classe descoberta pelo sistema (FREITAS,
2000).
Para exemplificar 0 que foi dito acima, segue um exemplo retirado de
Freitas (2000): Agencia de Arranjo de Namorados, mostrado na tabela 11:
22
Cliente Idade salario olhos1 62 medio cast.2 53 medio verde3 47 alto cast.4 32 medio verde5 21 alto azul6 27 alto cast.7 50 baixo azul8 46 alto azul9 27 baixo azul10 68 baixo azul
labela 11 - Agrupamento par compatibilidade
Como a proposta do clustering e agrupar as dados par similaridade, as
dados da tabela 11 poderiam ser agrupados par compatibilidade financeira, como
mostra a tabela 12 abaixo:
cliente Idade salinio olhos3 47 alto cast5 21 alto azul6 27 alto cast.
8 46 alto azul1 62 medic cast.2 53 medic verde4 32 media verde7 50 baixo azul9 27 baixo azul10 68 baixo azul
labela 12 - Agrupamento par compatibilidade financeira
23
3 p6s - PROCESSAMENTO PARA DATA MINING
Segundo MELANDA, 2002, as facilidades introduzidas pelas novas
tecnologias de coleta e armazenamento de dados, aliadas ao aumento da
velocidade de comunica9aO e a redU9aO dos custos dessas tecnologias,
proporcionaram as organiza90es a capacidade de armazenar um conjunto
detalhado de suas opera90es, gerando elevados volumes de dados que, em
alguns casas, chegam a dezenas de gigabytes au ate varios terabytes de
informa90es coletadas par ana.
A transforma9aO destes dados em informa90es uteis, au seja, em
conhecimento, tem ocorrido tradicionalmente atraves de analises e interpreta90es
realizadas a partir de procedimentos manuais. Em geral, as dados sao analisados
par um au mais especialistas familiarizados com a natureza dos dadas, que
comparam graficos e relat6rios, cruzam informa90es, utilizando-se do
conhecimento previa que passuem sabre a dominio da aplica9aO. Dessa forma,
as especialistas atuam como uma especie de interface entre as dados e as
possiveis usuarios das informa90es. Este procedimento, usualmente, e lento,
subjetivo e custoso, tomando-se impraticavel quando se trabalha com grande
volume de dados (MELANDA, 2002).
Outros procedimentos que podem ser utilizados para transformar dados
em conhecimento, sao as procedimentos automaticos, como par exemple as
algoritmos de regras de associa91lo.
Embora as regras de associa9aOsejam padroes valiosos par oferecerem
uma percep9ao uti! da dependencia que existe entre atributos da base de dado,
elas tambem possuem dais inconvenientes:
a) muitas regras sao geradas (problema da quantidade de regras)
b) nem todas as regras sao interessantes (problema da qualidade da regra)
Ambos as problemas nao sao inteiramente independentes. Par exemplo,
a conhecimento sabre a qualidade de uma regra pode ser usado para reduzir a
numero de regras apresentadas a um analista (TAN, 2000).
Como forma de superar essa problematica, podem ser utilizadas tecnicas
de pos-processamento. Uma tecnica de p6s-processamento e responsavel pelo
tratamento das regras extraldas na etapa de Data Mining antes que elas sejam
24
apresentadas ao analista, a fim de que 0 trabalho de sua interpreta,ao seja
facilitado e mais produtivo. Esse processamento leva em considera,;;o criterios
definidos pelo analista e informa,Oes extraidas do dominio (SILVA, 2001).
o objetivo do p6s-processamento e reduzir 0 n"mero de regras (e as
vezes 0 n"mero de condi,oes em cada regra) a ser apresentada ao usuario,
selecionando para apresenta,ao apenas regras interessantes (FREITAS, 2000).
o p6s-processamento e utilizado para avaliar 0 processo de descoberta
quando sao geradas muitas regras, para melhorar a compreensao do
conhecimento extraido e contribuir para modificar 0 conhecimento preexistente.
(ROMM, 2002).
A etapa de p6s-processamento recebe como entrada as regras de
associa9iio extraidas pela etapa de minera,;;o, aplica uma tecnica de p6s-
processamento e apresenta ao analista apenas as regras que realmente estao
dentro do escopo de interesse do mesmo, facilitando e agilizando 0 seu trabalho
(PITONI, 2002). A figura 5 ilustra, simplificadamente, a etapa de p6s-
processamento.
[JAssociacaoExlraldasporOM
x~y {]J !Jy~ zZ~W ~I
P6s-Processamento Regras Resultado
P6s-Processamento SaidaEntrada
Figura 5 - Etapa de P6s-Processamento
Mesmo ap6s a entrada dos parametros na etapa de minera,1io, ainda
assim podem ser extraidas regras que nao sao do interesse do analista. De fato,
pode-se estar, em uma determinada ocasiao, procurando compreender uma
situa9iio especlfica, como por exemplo a rela,;;o de um certo canal com os seus
assinantes (PITONI, 2002).
25
Portanto, e muito importante que seja projetado urn mecanisme que
permita ao analista filtrar 0 resultado, a fim de estabelecer urn ou rnais criterios
para a sele.,ao das regras que aparecerao no resultado final (PITONI, 2002).
Segundo MELANDA, 2002, 0 tratamento que esta etapa realiza nas
regras extraidas leva em considerayao duas medidas distintas: Medida Subjetiva
e Medida Objetiva.
3.1 MEDIDAS SUBJETIVAS
As medidas subjetivas sao criterios estipulados pelo analista, a partir de
sua percep,ao em rela.,ao ao domlnio do problema e consci;;ncia dos resultados
que deseja obter. Elas dependem fundamentalmente dos usuarios que irao
interpretar 0 conhecimento (MELANDA, 2002).
As medidas subjetivas nao dependem apenas da regra descoberta e dos
dados utilizados no processo, mas tambem do usuario que a examina, ou seja,
uma regra pode ser interessante para uma pessoa e nao para Dutra. Estas
medidas sao fortemente ligadas a dependencia do dominic (BRUSSO, 2000).
3.2 MEDIDAS OBJETIVAS
Medidas Objetivas sao analises do conjunto de regras feitas por uma
ferramenta, que possui condi,oes de verificar se uma regra nao e urn subconjunto
de outra, podendo nao interessar ao analista. Elas dependem exclusivamente da
estrutura das regras e dos dados utilizados no processo de extrayao de
conhecimento (MELANDA, 2002).
As medidas objetivas avaliam 0 grau de interesse de urn padrao em
termos de sua estrutura e dos dados utilizados no processo de descoberta,
sendo, independentes do dominio. Tais medidas podem ser utilizadas como filtros
para selecionar padroes potencialmente interessantes entre os muitos
descobertos p~r urn algoritmo de minera,ao, devolvendo urn conjunto menor ao
usuario. Reduz-se, assim, 0 tempo de analise para que seja feito 0 julgamento
final, sobretudo quando 0 algeritmo descobrir urn grande numero de regras. Como
principais exemplos de medidas objetivas de interesse, podem-se citar os graus
de suporte e confian,a das regras de associayao (BRUSSO, 2000). Uma eutra
26
medida objetiva e a medida de interesse (IS) proposta por TAN e KUMAR (2000)
para fazer pos-processamento das regras descobertas.° foco deste projeto sao as medidas ojetivas, especificamente a medida
de interesse (IS) proposta por TAN e KUMAR (2000).
3.2.1 Medidas de Interesse
3.2.1.1 IS
As medidas de interesse podem ser utilizadas na pesquisa por padroes
para decidir 0 que deve ser mantido, 0 que deve ser descartado ou 0 que deve
ser melhor explorado. Urn dos problemas centrais no campo da descoberta do
conhecimento e 0 desenvolvimento de boas medidas de interesse, uma vez que
deveria ser apresentada ao usuario nao uma grande quantidade de padrees, mas
apenas aqueles que sao, de fato, originais, insolitos, interessantes (BRUSSO,
2000).
Segundo TAN, 2000, uma tecnica explorando os dados geralmente gera
uma grande quantidade de padrees e regras. Entretanto, a maioria destes
padrees nao sao interessantes para 0 ponto de vista do usuario. As regras
interessantes devem ser selecionadas entre aquelas regras produzidas (geradas).
Este processo de sele9ao e 0 que pode-se chamar de urn segundo nivel da
explora9ao dos dados; explorar entre regras. Embora haja diversos estudos neste
assunto, nao M ainda urn padrao ou uma medida universal melhor para decidir
quais regras sao interessantes au quais "aO sejam.Atraves de TAN, 2000, a solu9aOpara 0 problema da qualidade da regra
esta em especificagees de uma medida de interesse para representar a novidade,
a utilidade ou 0 significado de urn padrao. Requisitando as regras descobertas de
acordo com seu grau de interesse, as regras selecionadas podem ser
apresentadas a urn analista. Algumas destas medidas sao aplicBveis aos
conjuntos de itens como tambem as regras.° fator do interesse e uma medida amplamente usada para os padrees
de associa9aO. Esta metrica e definida para ser a razao entre a probabilidade
comum de duas variaveis com rela9ao as suas probabilidades previstas sob a
suposi9iio de independencia (TAN, 2000).
27
o fator de interesse pode ser calcuiado pela f6rmula 3 abaixo:
J(A B) = P(A, B), P(A)P(B) ~)
TAN, 2000, em seu artigo, sugere que uma boa medida de interesse,
derivada da correla,ao estatistica para regras que tenham baixo suporte (menor
que 30%) e alto fator de interesse, pode ser dado pela f6rmula 4 abaixo:
P(A,B)P(A,B)P(A)P(B) (4)JS=.JJ*P(A,B) =
A medida acima e um produto de dois quantificadores importantes: fator
de interesse e 0 suporte e leva em considerayao tanto os aspectos do interesse
como 0 do suporte de um padrao.
3.2.1.2 Taxa de acerto
o conhecimento descoberto pelo processo KDD, durante a etapa de data
mining, tem por objetivo identificar em dados padroes validos, novos,
potencialmente uteis e compreensiveis (FAVYAD, 1996).
Segundo CARVALHO (2003), na sua grande maioria, os algoritmos de
Data Mining produzem, como parte dos resultados, informa,oes de natureza
estatistica que permitem ao usuario identificar 0 quae correto e conMvel e 0
conhecimento descoberto. Por exemplo, dada a seguinte regra:
R: SE X ENTAo y
Sob 0 ponto de vista estatistico, a regra acima pode ser descnta pela
tabela de contingencia (DEBORAH et.al, 2003):
28
Y NaoYExemploscobertos rY rY' r
I pel a regraExemplosnao r'Y r'Y' r'cobertos
I pel a regrac c' N
Tabela 13 - Tabela de Contingencia para 0 calculo da Taxa de Acerto
Onde:
rYe 0 numero de exemplos cobertos pel a regra R e pertencentes a classe Y;
rY' e 0 numero de exemplos cobertos pela regra R, mas nao pertencentes a
classe Y;
r = rY + rY' e 0 numero de exemplos cobertos por R;c = rc + r'c e 0 numero de exemplos de treinamento que possuem a classe
y.
N = c + c' = r + r' eo numero total de exemplos (registros) de treinamento.
A Taxa de acerto e uma medida calculada utilizando a tabela de
contingencia (tabela 1) e tem por objetivo atribuir um valor de quae correta e uma
regra descoberta. A f6rmula 5 e utilizada para 0 calculo do valor da taxa de acerto
de uma regra:
TaxadeAcef1o(TA) = (rY +r' Y')/ N (5)
Muitas vezes, apenas a medida de taxa de acerto, calculada pela tabela
de contingencia, nao e suficiente para descobrir regras interessantes au ainda
regras de facil compreensao.
Por este motiv~, metricas que avaliem 0 grau de interesse e de
compreensibilidade podem ser computadas em uma fase de p6s-processamento,
como uma forma de avalia"ao adicional da qualidade do conhecimento
descoberto, complementando (e nao substituindo) medidas estatisticas sobre 0
grau de corre9ao daquele conhecimento (DEBORAH et.al, 2003).
29
4 METODOLOGIA
4.1 METODOLOGIA DA PESQUISA
Na primeira fase da pesquisa foi realizado 0 estudo bibliogn,fico do
referido assunto.
Em seguida foi aplicada a etapa de selegao de dados, limpeza dos dados,
e transformayao dos dados, respectivamente, atraves do processo KDD.
Na lase seguinte foi selecionado e implementado um algoritmo da ertapa
de Data Mining 0 Apriori, referente a base de dados selecionada na etapa
anterior.
Na fase final, foi realizada a avaliayao e analise do conhecimento extraido
pela tecnica de regras de associay80, atraves do p6s-processamento.
o trabalho esta estruturado em 3 tarefas diferentes:
1. Implementay80 de uma medida que realize a tarefa de p6s-
processamento de Regras de associayao.
2. Implementayao do algoritmo proposto no item 1.
3. Experimentagao do algoritmo implementado no item 2 . Para tal foram
adotadas algumas bases de dados disponlveis em repositorio de
universidades Internacionais.4. Comparayao dos resultados a partir da observayao e da analise.
4.2 METODOLOGIA DO DESENVOLVIMENTO
a) Plataforma
o ambiente utilizado para 0 desenvolvimento do P6s-Processamento foi 0
Windows 2000 Server, devido a sua integrayao de aplicayties, utilizadores, dados
e outros recursos num ambiente unico.
)0
b) Linguagem
A ferramenta utilizada para 0 desenvolvimento do prototipo do Pos-
Processamento foi a linguagem Visual Basic 6.0 que apresenta as seguintes
vantagens:
possui uma interface para intera9ao com 0 usuario, alem de realizar 0
processamento dos teldos e a apresenta9ao dos resultados;
incluem potencialidades de interliga9ilo a SGBDs (Sistemas Gestores de
Bases de Dados) permitindo 0 acesso a dados em formatos especificos
(por exemplo: Access, DBase, etc.);
permitem a troca de dados entre aplica90es.
o Ambiente de desenvolvimento do VB contem as ferramentas
necessarias ao desenvolvimento da sua aplica9ao com acesso simples e ri'pido.
Por esse motivo, 0 VB e conhecido como uma ferramenta RAD (Rapid Application
Development - Desenvolvimento Rilpido de Aplicativo).
Para 0 armazenamento das informa90es foi utilizado 0 banco de dados
Access.
c) Sele9i\o do metodo
o metodo escolhido para ser implementado foi a medida de interesse
denominada IS e tem como objetivo reduzir os padroes descobertos de acordo
com seu grau de interesse. Essa medida pede ser facilmente aplicada a pad roes
gerados por algoritmos que descobrem regras de associa9ao.
d) Descri9ilo do metodo
Como dito na se9ilo 4.2.1, 0 metodo selecionado leva em considera9ao
tanto suporte da regra como 0 fator de interesse da mesma. Ele busca remover os
conjunto de itens nao correiacionados ou os correlacionados negativamente.
Alem disso, esta medida e derivada da correla9ao estatistica para regras
que tenham baixo suporte e que tenham sido geradas por um algoritmo de
descoberta de regras de associa9ao.
31
Na formula 4, mostrada na SeyaO 4.2.1, P(A,B) e a probabilidade de A
(antecedente) e B (conseqOente) ocorrerem juntos no conjunto de dados. Alem
disso, PIA) e a probabilidade do antecedente ocorrer dado 0 total de registros e
PCB)e a probabilidade do conseqOente ocorrer dado 0 total de registros.
e) Simulayao do metodo a partir de uma base nile real
Dada a base mostrada na tabela abaixo:
Leite Cafe Cerve'a Pao Manteiqa Arroz Ferao1 N S N S S N N2 S N S S S N N3 N S N S S N N4 S S N S S N N5 N N S N N N N6 N N N N S N N7 N N N S N N N8 N N N N N N S9 N N N N N S S10 N N N N N S N
Tabela 14 - Base de dados nile real
Os dados da medida de interesse obtidos pela formula do IS descrita na
SeyaO 4.2.1.1 (formula 4), e podem ser visualizados abaixo:
pao <- cafe manteiga (30.0%,100.0%)
manteiga <- cerveja pao (10.0%,100.0%)
pao <- cerveja manteiga (10.0%,100.0%)
pao <-Ieite cerveja (10.0%,100.0%)
cerveja <- leite pao (20.0%, 50.0%)
leite <- cerveja pao (10.0%, 100.0%)
leite <- cafe manteiga (30.0%, 33.3%)
cafe <- leite (20.0%, 50.0%)
leite <- cafe (30.0%,33.3%)
pao <- leite (20.0%, 100.0%)
IS = 0,7745966
IS = 0,4472135
IS = 0,4472135
IS = 0,4472135
IS = 0,5
IS = 0,7071067
IS = 0,4082482
IS = 0,4082482
IS = 0,4082482 .
IS = 0,6324555
Pode-se estabelecer, por exemplo, que as regras selecionadas sejam
aquelas que tenham valor da medida de interesse (IS) maior ou igual a O,B.
f) C6digo que representa 0 metodo
Receber arquivo de entrada
Receber arquivo Apriori
Receber delimitador de colunas do arquivo de entrada
Receber 0 valor maximo do Suporte
Receber limite minima da IS
Receber limite minima do TA
II Carrega tabela Arqui vo
Para cada linha do arquivo de entrada
Fac;a
Desmembrar colunas da linha respeitando 0 delimitador
Para cada col una
Fa<;:a
tabela Arqui vo numero da linhaCarregar
elemento (conteudo da coluna)
Firn_Fa<;a
total_registros total_registros + 1
Firn_Fa<;:a
/ / Carrega tabelas Apriori Variaveis e Apriori
Para cada linha do arqui vo Apriori
Fac;a
Ohter os antecedentes da linha
Para cada antecedente
Fac;:a
Carregar tabela AprioriVariaveis
antecedente
numero da 1inha e
Fim_Fac;:a
Ohter 0 Valor do Suporte da linha
Obter 0 Valor da Confiano;a da linha
Obter 0 Consequente da linha
32
JJ
/ / Processa tabela Apriori
Se 0 valor do suporte informado pelo usuario for i9ua1 a zero
o valor do suporte da linha for menor ou igua1 ao valor do
suporte informado pelo usuario
Carregar tabela Apriori com 0 nllinero da linha, consequente,
suporte, confian<;:a e qtde de antecedentes
Selecionar as colunas "Consequente", "Linha", "Suporte" e "Qtde de
Antecedentes" da tabela
Apriori por ordem de Linha
Para cada linha da sele<;ao acima
Fa<;a
Selecionar quantidade linhas da tabela Arquivo cnde Elemento =
Consequente da tabela Apriori
valor_pb =: quantidade linhas da sele9ao acima I total_registros
sele<;.3o AprioriVariaveis ::. Selecionar Antecedente da tabela
AprioriVariaveis cnde Linha = Linha da tabela Apriori
Selecionar quantidade de linhas da tabela Arquivo onde Elemento
exista na sele<;:ao
Apriori Variaveis quantidade de elementos da tabela
Arquivo (agrupados por linha) = quantidade de Antecedentes da
tabela Apriori
valor_pa = quantidade linhas da selec;a.o aeima / tocal_registros
Carregar tabela TmpXcom 0 numero da linha da tabela Arqui voonde 0 Elemento da tabela
34
valor_is (raiz quadrada (( (valor_suporte 100)
Arquivo exista na selec;:ao AprioriVariaveis e a quantidade de
elementos da tabela
Arquivo (agrupados por linha) = quantidade de Antecedentes da
tabela Apriori
Carregar tabela TmpY com 0 numero da linha da tabe!a Arquivo
onde 0 Elemento da tabela
Arquivo seja igua1 ao Consequente da tabela Apriori
valor_XY = Selecionar quantidade de linhas da tabela TmpXonde
Linha da tabela TmpXi9ua1 a linha da tabela TroY
Carregar tabela TmpNXcom 0 nUrnero da linha da tabela Arquivo
onde 0 nilinero da linha da tabela Arquivo nao exista na tabela TmpX
Carregar tabela TmpNYcom 0 nlimero da linha da tabela Arquivo
onde 0 ntimero da linha da tabela Arquivo nao exista na tabela TmpY
valor_NXNY === Selecionar quantidade de linhas da tabela TmpNX
que existam na tabela TmpNY
valor _suporte :::::suporte da tabela Apriori
(valor_suporte / 100)) /
(valorya * valor_pb))) * 10
valor_ta = (valor_XY + valor_NXNY) / total reg~stros * 100
Atualizar Valor_is e valor_ta na tabela Apriori com os valores
calculados
Selecionar antecedentes da tabela AprioriVariaveis onde Linha
da tabela AprioriVariaveis igual a linha da tabela Apriori
Se 0 valor_is >::::: limite minimo da IS inforroado pelo usuario e
o valor_ta >= limite minima do TA informado pelo usuario
Mostrar os valores tela: Linha, Antecedente (5),
Consequente, valor_is, valor_ta
Fim
Fim_Fac;a
35
g) A sele9ao das bases de dados que serviram como entrada para teste
obedeceram aos seguintes criterios:
(a) Permitirem a descoberta de regras de associa9ao
(b) Permitirem a constru9ao de tabelas de contingencia, a qual e utilizada para
avaliar a qualidade da regra
(c) Possuir suporte maior ou igual a 10% e confianc;a maior au igual 10%.
h) 0 programa selecionado para descobrir as regras de associa9ao foi 0 Apriori
i) Para cada regra selecionada foi computada a tabela de contingencia dessa
regra que fornece 0 valor de quae correto e uma regra. Essa medida juntamente
com a medida de interesse nos permite comparar, par exemplo, se regras com
alta taxa de acerto sao tambem interessantes.
36
4.3 PROT6TIPO
o sistema de p6s-processamento implementado recebe como entrada 0
resultado do Apriori e a base de dados original. Na base original 0 arquivo pode
conter alguns delimitadores como virgula, ponto e virgula, espayo em branco e
tabulayao, esses delimitadores sao definidos pelo usuario. A tela inicial do
prot6tipo e mostrada abaixo:
Figura 6 - Tela de entrada dos dados
•••Re,ultado do PO, P,oceuamento I!OOI3'Consultli""""""=~~=-+-:"#~c#-'-c-""",=~#"fi'~,-",~~,.....,,,,,g"f-,;,,--c""]1
TaxadeAcerto -Ordenor per.S·i&i~i:iFii"'.r., Ascendants r Descendents
li+la114:Se FI~neoEnlio&<U:o ••)VaIorIS ••B,66,VaIorTA.90 fSup=3O% CcnI-l~)lrilal5Q: Se Mast:lbiojovtmnaoEnt&lA/emanha ••)VlloIIS ••8.16.ViJorTA"~ rsup-20'4: eonf-lOO%:)Lma 113: Se adulto NO Entao Franca ••>Valor IS ••7,75, ValorTA••BO I Sup = 30% Cool ••100%)lirhal5:Se Alemanka Ent!lo Fvem ••> Valoi IS = 7.07. ValorTA. 70 (Sup ••307. Con! =1007.]LirhaI6.:Se jovemEntioAiemanha->VaIorIS ••7,07,ValorTA.70 (Sup ••307. Ca'If.507.)Li+Ia 17: Se Alemanha Entllo nao -) ValOlIS -7,07, ValOllA _ 70 [ Sup- 30% Coni ••100?)l.iTItJ lB: Se nao ErlteoAiemenha ••) ValodS ,. 7,07, Valol lA _ 70 (S~ ••30% ConI ••50%)lffla86: Se A!emamaIl4OEnI&ojovem '"> Valor IS ·7,07.V~ lA - 70 [Sup"3O% COO·'00%)Lrila112: Se adUtoFrancaEnt50nao ->VaIoIIS ••7.07.Valol fA -70 [Sup" 31n em -1em)liTIa 85: Se AIemanha jovem Enlao nao ••) Valol IS ••7.07, Vlb TA_ 70 [Sup~30Z em - 100%)Lirhal:Se InglateuaEnI!losin-> VaioflS = 7.07.Valol TA••OO (Sup·20~ Con! =100%)Lirhal70: Se Franca Feninino naoEntaoadtl'to-> VabIS· 7,07, Valor TA••80 (Sup. M Con/·Ilm::)Lii"Ia 99: Se Franca jovem Entao sim 00) ValOIIS ·7,07, Valor fA •.80 ( SlJ)" 20% ConI-l00%:!Lirtla2: ·7,07.VlbTA-OO Su·20'4: Con' ••SO%Lima 57: VaIorIS ••7,07,ValOITA ••~ [Sup=10% Co,.-.·IOO%)
laterra ••) Valor IS ••7.07, Yab! lA ••90 (Sup ••10% ConI .100%15=6.7I,VaIoITA-7o [Sup-])% Conf=6IJ%)
> IS=6,71,YalOITA ••70 5up ••30% Con/ ••75%->VacxIS·6,71,ValOlTA·70 51.41-30% Cod-75%)->VdaIS·6,7I,VaIOITA-70 5l41-30% Conf ••~
~~~'~>V~ob~IS~'~~~67~.V~,",~~~'~OO~(S~W~'~~~.~Ud~'~~~).__.~
Figura 7 - Tela de saida das regras
No trabalho proposto foi implemetada a formula do IS e a TA (Taxa de
Acerto). A seguir sera descrito 0 funcionamento do prototipo.
Umas das bases utilizadas para testar 0 prot6tipo foi a base de dados
mostrada na tabela 16. Esta tabela contem os dados de entrada para 0 Apriori.
37
38
Saxo Pais Idade Meta CompraMasculine Franca 25 SMasculino Inglaterra 21 SFeminino Franca 23 SFeminine Inolaterra 34 SFeminino Franca 30 NMasculine Alemanha 21 NMasculino Alemanha 20 NFeminine Alemanha 18 NFeminino Franca 34 NMasculino Franca 35 N
Tabela 15 - Base de dados original sem categoriza9ao (Base de
Compra de livros)
Uma vez que 0 software Apriori nao aceita atributos que possuam valores
continuos loi necessario categorizar 0 atributo idade presente na tabela 15. 0
resultado dessa categoriza9ao pode ser vista na tabela 16 abaixo:
SeXQ Pais Idade Meta CompraMasculino Franca Jovem SMasculino Inglaterra Jovem SFeminino Franca Jovem SFeminine Inglaterra Adulto SFeminino Franca Adulto NMasculine Alemanha Jovem NMasculino AJemanha Jovem NFeminina Alemanha Jovem NFeminino Franca Adulto NMasculine Franca Adulto N
Tabela 16 - Base de dados Categorizada
Para eletuar a categoriza9ao do atributo idade, loi observado que as
pessoas que moravam na Fran9a e tinham idade <= 25 anos eletuavam a compra
do livro e as pessoas que moravam na Fran9a e tinham idade > 25 nao eletuavam
a compra. Dessa lorma, a categoriza9ao loi definida como:
39
SE Idade <= 25 anos ENTAo jovem
SE Idade > 25 anos ENTAo adulto
Ap6s a categoriza,ao das variaveis, foi aplicado a Apriori a base de
dad as. Os para metros utilizados no Apriori foram suporte >= 10% e confian,a
>=10%. Uma amostra das regras descobertas pel a Apriori podem ser visualizadas
na tabela 17. 0 arquivo que possui as regras descobertas pelo APRIORI, pode
ser vista na sua totalidade no anexo 2.
sim <- Inglaterra (20.0%, 100.0%)
Inglaterra <- sim (20.0%, 50.0%)
adulto <- Inglaterra (10.0%,50.0%)
Inglaterra <- adulto (10.0%,25.0%)
Masculino <- Inglaterra (10.0%,50.0%)
Inglaterra <- Masculino (10.0%,20.0%)
Feminino <- Inglaterra (10.0%,50.0%)
Inglaterra <- Feminino (10.0%, 20.0%)
jovem <- Inglaterra (10.0%,50.0%)
Inglaterra <- jovem (10.0%, 16.7%)
Tabela 17 - Regras descobertas pelo software Apriori para a base de
compra de livros
Na tabela 17 acima, as regras sao lidas da seguinte forma:
- primeira col una apresenta 0 conseqOente de uma regra;
- segunda coluna apresenta a antecedente de uma regra;
- terceira coluna apresenta a valor de suporte da regra; e
- quarta coluna apresenta a valor de confian,a da regra.
Par exemplo, na primeira linha da tabela 17 tem-se:
"SE Inglaterra ENTAO Sim (Sup =20% e Conf. = 100%)"
o prot6tipo proposto e implementado, Ie a primeiro registro da base do
apriori (tabela 17) e identifica quem e a antecedente, quem a consequente equal
o valor do suporte. Ap6s a identifica9aO desses atributos, 0 programa junta mente
com os dad os da tabela 16, calculara P(A,B), PIA) e P(B) para cada registro.
E importante relembrar, que 0 objetivo da ferramenta de p6s-
processamento implementada e calcular 0 fator de interesse e a taxa de acerto
para cada regra. 0 usuario e quem determinara quais regras deverao ser
selecionadas atribuindo urn valor minima para 0 fatar de interesse e urn valor
minima para a taxa de acerto.
As regras selecionadas com maior IS, resultado do p6s-processamento
com as bases acima (tabelas 16 e 17), podem ser visualizado na tabela 18. 0
arquivo que possui 0 resultado completo do p6s-processamento, pode ser visto na
sua totalidade no anexo 3.
Se jovem nao Entao Alemanha -> Valor IS = 10, Valor TA - 100( Sup = 30% Conf = 100% )Se Franca nao Entao adulto => Valor IS = B,66, Valor TA = 90( Sup = 30% Conf = 100% )Se Masculino jovem nao Entao Alemanha => Valor IS = 8,16, ValorTA = 90( Sup = 20% Conf = 100% )Se adulto nao Entao Franca => Valor IS = 7,75, Valor TA = 80( Sup = 30% Conf = 100% )Se sim adulto Feminino Entao Inglaterra => Valor IS = 7,07, Valor TA = 90( Sup = 10% Conf = 100% )Se sim adulto Entao Inglaterra => Valor IS = 7,07, Valor TA = 90( Sup = 10% Conf = 100% )Se Inglaterra Entao sim => Valor IS = 7,07, Valor TA = 80(Sup = 20% Cont = 100%)Se Franca jovem Entao sim => Valor IS = 7,07, ValorTA = 80( Sup = 20% Conf = 100% )Se Franca Feminino nao Entao adulto => Valor IS = 7,07, ValorTA = 80( Sup = 20% Conf = 100% )Se sim Entao Inglaterra => Valor IS = 7,07, Valor TA = 80( Sup = 20% Conf = 50% )Se nao Entao Alemanha => Valor IS = 7,07, ValorTA = 70( Sup = 30% Conf = 50% )Se Alemanha Entao nao => Valor IS = 7,07, Valor TA = 70( Sup = 30% Conf = 100% )Se adulto Franca Entao nao => Valor IS = 7,07, Valor TA = 70( Sup = 30% Conf = 100% )
Tabela 18 - Resultados gerados pelo prot6tipo para a base de compra de
livros
40
41
Para demonstrar passo-a-passo 0 funcionamento do programa, dadas as
bases aeirna, sera realizado, a seguir. a engenharia reversa de uma regra gerada.Usando como exemplo 0 registro em negrito da tabela 18:
Se Inglalerra Entao Sim => Valor IS = 7,07 Valor TA = 80
Esta regra possui suporte de 20% e confianya de 100%, 0 que pode ser
observado pela tabela 17.
Dadas a base de regras e a base de dados (tabelas 16 e 17) e possivel
encontrar 0 valor de interesse da regra, atraves da f6rmula do IS.
P(A,B)P(A,B)P(A)P(B) (6)IS=
Usando a formula 6, 0 P(A,8) recebe 0 valor do suporte da regra
calculado pelo Apriori, ou seja, P(A,8) para este exemplo e de 20,0%.
o algoritmo apriori e um metodo de associayao, que pode trabalhar com
um grande numero de atributos, gerando varias alternativas combinat6rias entre
eles. 0 algoritmo apriori recebe uma base de entrada, onde 0 algoritmo identifica
uma string que e definida como conseqOente e outra string que e definida como
antecendente, apos identificar 0 antecende e 0 conseqOente, 0 algoritmo varre a
base localizando essa combinayilo, assim 0 apriori divide a quantidade de
registros encontrados com 0 total de registros da base de entrada, gerando 0
valor do suporte. Exemplo:
Inglalerra <- Sim (20.0%, 100.0%),
o valor de 20,0% se refere ao suporte do registro e 0 valor 100,0 % se
refere a confianya do registro.
Na formula do IS, 0 P(A,8) recebe 0 valor do suporte da base do apriori,
nesse exemplo 0 P(A,8) recebe 20,0 %.
Para gerar 0 valor de P(A), 0 software de p6s-processamento pega 0
antecedente e verifiea quantas vezes ele e eneontrado na base de entrada, assim
42
ele divide a quantidade de antecedente encontrado pelo numero total de registros
da base entrada (tabela 16), assim ele divide a quantidade de antecedente
encontrado pelo numero total de registros da base entrada.
Para gerar 0 valor de PiS), 0 software de p6s-processamento pega 0
consequente e verifica quantas vezes ele e encontrado na base de entrada
(tabela 16), assim ele divide a quantidade de consequente encontrado pelo
numero total de registros da base entrada. Dessa forma, obtem-se:
IS~
Assim, 0 valor da medida de interesse para a regra e de 7,07, ou seja, IS = 7,07
A segunda medida aplicada e 0 calculo da taxa de acerto (f6rmula 5).
Essa medida tern por objetivo descobrir 0 quae correto e uma regra descoberta.
Para isso, utiliza-se f6rmula abaixo:
TA ~[(XY+ - X - Y)/ Illlmero _total _ registrosj*IOO (7)
Para encontrar os valores que a f6rmula solicita, e necessario atribuir a X
e Y os respectivos valores. Para 0 exemplo abaixo 0 Y (antecedente) recebe
Masculino e X (consequente) se refere a Inglaterra.
8im <- Inglaterra (20,0%, 100.0%)
Para calcular 0 valor de X 0 sistema consulta a base de entrada (tabela
16) e verifica quantos registros possuem "Inglaterra". Em seguida divide-se a
quantidade de registro com X pelo numero total de registros da base de entrada.
o mesmo processo e realizado para encontrar a valor de Y.Para encontrar 0 valor de -X 0 sistema ira consulta a base de entrada e
verifica em quantos registros "Inglaterra" nao aparece. Em seguida, divide-se a
quantidade de -X pelo numero total de registros da base de entrada. 0 mesmo
processo se repete para encontrar 0 valor de -Yo
43
Para encontrar 0 valor de XY 0 sistema consulta a base original (tabela
16) e procura todos os registros que possuam "Inglaterra" e "Sim". Em seguida, e
feita uma contagem de quantos registros possuem essa combina9ao e este
resultado sera divido pelo numero total de registros da base original.
Atraves da tabela de contingencia figura 8, e calculada a taxa de acerto
representada pela formula (7):
x-x
Figura 8 - Tabela de Contingencia
Uma vez que 0 valor de XY e encontrado, torna-se necessario descobrir 0
valor de -X-Y (nao X e nao V). Isso e feito consultando a base original e
localizando todos os registros que sejam diferente de Y a que nao possua X
simultaneamente. Em seguida, e feita uma contagem de quantos registros
possuem essa combina9aO e esta resultado sera divido pelo numero total de
registros da base original.
Os valores encontrados sao colocados na formula (7) e, entao, 0 valor de
TA e calculado, como podemos demostrar:
TA = [8/10]* 100= 80%
44
5 EXPERIMENTACAO E RESULTADOS
Para a realizacao dos experimentos foram utilizadas:
- a Base de dados House-votes, descrita nas Tabelas 19 e 20, foi obtida
do site de domlnio publico da University of Calif6rnia Irvine - VCI. Esta
base possui 232 registros, compostos por 17 atributos categoricos e
nenhum valor de atributo faltando.
- a Base de compras de livros mostrada na tabela 21.
A base house-votes, e usada como arquivo de entrada de dad os no
prot6tlpo. A base tambem foi utilizada para obter as regras do apriori a partir da
execucao do algoritmo Apriori, com 0 valor determinado de 10 para 0 Suporte e
10 para Confianca. As regras descobertas pelo Apriori para a base house-votes e
as regras descobertas pelo prototipo de p6s-processamento com suporte menor
ou igual a 30, a visualizacao dos dados podem ser encontradas no anexo 4 (em
cd).
As regras descobertas pelo Apriori, foram aplicadas no prototipo, para
realizar 0 calculo da Medida de Interesse e Taxa de Acerto. Ap6s 0
processamento, realizamos as seguintes analises:
1°) Analisando as tabelas 19 e 21 abaixo, a qual e uma amostra do
resultado gerado pelo pos-processamento da base house-votes, pode-se
observar que na maio ria das regras, 0 valor do TA acompanha 0 valor do IS. No
entanto nem sempre essas regras possuem esse mesmo padrao, existindo regras
que apresentam valores de IS baixo e alta Taxa de Acerto ou vice versa. 0 valor
do IS depende de dois fatores: 0 fator de interesse e 0 suporte da regra, devido a
esses val ores serem probabilisticos isto e, se 0 valor obtido pelo fator de interesse
for alto 0 valor do IS consequentemente sera alto.
2°) Analisando as tabelas 21 e 22 abaixo, a qual e uma amostra do
resultado gerado pelo pos-processamento das bases house-votes e compra de
livros respectivamente. observa-se que na maioria das regras, quanta maior 0
fator de confianca, maior sera 0 valor obtido pelo TA ( Taxa de Acerto). 0 TA tern
par objetivo atribuir urn valor de quae correia e uma regra descoberta.
Regra 1: Se republicanEntaoa4y :> Valor IS : 9,66,Valor TA: 97( Sup: 46% ConI: 99% )
Regra 2: Se a9y a3y a7y Entaoa8y :> Valor IS: 7,89,Valor TA: 81( Sup: 34% ConI: 95% )
Regra3: Se a14n a15y a9y a4n Entaoa8y:> Valor IS = 6,19, ValorTA: 69( Sup: 21% ConI: 96% )
Regra4: Se a5n democrata11n Entaoa7y :> Valor IS : 6,18, Valor TA : 68( Sup: 22% ConI: 94% )
Regra 5: Se a10n a16y Entaoa13n :> Valor IS: 4,81, Valor TA: 58(Sup: 19% ConI: 55%)
Regra6: Se a16n a8n a9n a1n Entaoa15n:> Valor IS : 4,54, Valor TA: 50(Sup: 14% ConI: 94%)
Regra7: Se a1y a8y a11n Entaoa15y:> Valor IS: 3,86, Valor TA: 66( Sup: 10% ConI: 57% )
Regra8: Se a11y a7y a2n Entaoa16y:> Valor IS : 3,64, Valor TA: 30(Sup: 11% ConI: 100%)
Regra9: Se a4n a3y democratEntaoa13y:> Valor IS: 2,03, Valor TA: 22(Sup: 10% ConI: 24%)
Regra 10: Se democratEntaoa5y :> Valor IS : 1,84,Valor TA: 13( Sup: 10% ConI: 20% )
Tabela 19 - Regras descobertas para a base house-votes com os maiores
valores de IS
45
Regra 1: Se democrat Entao a4n -> Valor IS = 9,55, Valor TA = 97( Sup = 50% Coni = 95% )
Regra 2: Se a4n a8y Entao a5n => Valor IS = 9,24, Valor TA = 95(Sup =41% Conl= 95%)
Regra 3: Se a12y a5y a14y Entao a4y => Valor IS = 8,S4, Valor TA = 89( Sup = 40% Coni = 93% )
Regra 4: Se a1y a9y a11n a1Sy Entao aSn => Valor IS = 5,71, ValorTA = 7S( Sup = 14% Coni = 64%)
Regra 5: Se a9y a4n a3y a10y Entao aSn => Valor IS = 4,S4, ValorTA = 70( Sup = 13% Conf = 62% )
Regra S: Se aSn a14n a10y Entao a12n => Valor IS = 4,5S, Valor TA = 59( Sup = 12% Coni = 100% )
Regra 7: Se aSn a10n a12n Entao a7y => Valor IS = 4,35, Valor TA = 58( Sup = 12% Conf = 90% )
Regra 8: Se a14n a5n a4n a2n Entilo a 11n => Valor IS = 3,44, Valor TA = 40( Sup = 12% Coni = 65% )
Regra 9: Se a14n democrat Entao a1n => Valor IS = 2,44, Valor TA = 29( Sup = 11% Conf = 32% )
Regra 10: Se a5y Entao a12n => Valor IS = 1,84, ValorTA = 13( Sup = 10% Conf = 19% )
Tabela 20 - Regras descobertas para a base house-votes com as maiores
valores de TA
46
Regra 1: Se iovem nao Entao Alemanha => Valor IS = 10, Valor TA = 100(Sup = 30% Conf = 100% )
Regra 2: Se Franca nao Entao adulto => Valor IS = 8,66, Valor TA = 90( Sup = 30% Conf = 100% )
Regra 3:Se Masculino iovem nao Entao Alemanha=>Valor IS = 8,16, Valor TA=90( Sup = 20% Conf = 100% )
Regra 4: Se adulto nao Entao Franca => Valor IS = 7,75, Valor TA = 80( Sup = 30% Conf = 100% )
Regra 5:Se sim adulto Feminino Entao Inglaterra =>Valor IS = 7,07, Valor TA= 90(Sup = 10% Conf= 100%)
Regra 6: Se sim adulto Entao Inglaterra => Valor IS = 7,07, Valor TA = 90(Sup = 10% Conf = 100%)
Regra 7: Se Inglaterra Entao sim => Valor IS = 7,07, Valor TA = 80( Sup = 20% Conf = 100% )
Regra 8: Se Franca iovem Entao sim => Valor IS = 7,07, Valor TA = 80( Sup = 20% Conf = 100% )
Regra 9: Se Franca Feminino nao Entao adulto => Valor IS = 7,07, Valor TA = 80( Sup = 20% Conf = 100% )
Regra 10: Se sim Entao Inglaterra => Valor IS = 7,07, Valor TA = 80( Sup = 20% Conf = 50% )
Tabela 21 - Regras descobertas para a base de compra de livros com os maiores
valores de IS
47
Regra 1: Se jovem nao EntaD Alemanha => Valor IS = 10, Valor TA - 100( Sup = 30% ConI = 100% )
Regra 2: Se Franca nao EntaD adulto => Valor IS = 8,66, Valor TA = 90( Sup = 30% ConI = 100% )
Regra 3:Se Masculino jovem nao EntaD Alemanha=>Valor IS = 8, 16,Valor TA= 90( Sup = 20% ConI = 100% )
Regra 4:Se sim adulto Feminino EntaD Inglaterra => Valor IS = 7,07,Valor TA = 90(Sup = 10% Conl= 100%)
Regra 5: Se sim adulto EntaD Inglaterra => Valor IS = 7,07, Valor TA = 90( Sup = 10% ConI = 100% )
Regra 6: Se Feminino nao EntaD adulto => Valor IS = 5,77, Valor TA = 70( Sup = 20% ConI = 66% )
Regra 7: Se sim Masculino jovem EntaD Inglaterra => Valor IS = 5, Valor TA = 80(Sup = 10% ConI = 50%)
Regra 8: Se sim Masculino EntaD Inglaterra => Valor IS = 5, Valor TA = 80(Sup = 10% ConI = 50%)
Regra 9: Se sim Feminino EntaD Inglaterra => Valor IS = 5, ValorTA = 80(Sup = 10% ConI = 50%)
Regra 10: Se Masculino EntaD Franca => Valor IS = 4, Valor TA = 40( Sup = 20% ConI = 40% )
Tabela 22 - Regras descobertas para a base de compra de livros com os maiores
valores de TA
48
49
6 CONCLU5AO
o presente trabalho teve como objetivo implementar duas medidas de
pos-processamento e analisar resultados gerados.
Pode-se observar que as medidas apontam para um mesmo objetivo:
"descoberta de conhecimento novo, correto e interessante", e essas medidas
possuem um relacionamento entre si. Isto pode ser observado pel as tabelas 19,
20, 21 e 22, que a maioria das regras que obtiveram valores de IS alto
apresentaram valores de TA alto. No entanto, nem sempre uma regra com alta
taxa de acerto e a mais interessante e nem sempre uma regra com alto valor de
IS e a mais correta, isto pode ser observado nas regras 6 e 7 da tabela 19 e nas
regras 4 e 6 da tabela 21. Obervamos tambem que regras com baixo suporte
tiverem baixo valor de IS, isso ocorre devido ao fato de que as regras nao
dependem apenas do suporte mas tambem do valor obtido pelo fator de
interesse.
Por este motivo, para avaliar 0 grau de interesse e a corretitude de uma
regra, deve ser aplicada a etapa de p6s-processamento, como uma forma de
avalia9iio adicional da qualidade e interesse do conhecimento descoberto,
complementando e nao substituindo outras medidas estatisticas.
Dessa forma, constata-se que a implementayao de tecnicas de p6s-
processamento tornam 0 processo de descoberta de conhecimento mais robusto.
Isto ocorre, uma vez que 0 pos-processamento possibilita que sejam
disponibilizadas informa~6es real mente uteis e que possam contribuir no processo
decis6rio do u5uiuio.
Como trabalhos futuros sugere a aplica9iio de outras medidas para
comparar os resultados obtidos com os resultados do nosso trabalho.
50
REFERENCIAS
ADRIAANS, A, Zantinge, D. Data Mining. England, 1996. Addison Wesleylogman.
BERRY, B., Michael J. A.; Linoff, G., Data Mining Techniques: for marketing,sales, and customer support. USA, 1997. John Wiley & Sons, Inc.
BRUSSO, B., Marcos J., Uma proposta para a extra~ao de regras deassocia~ao aplicada a minera~ao do usa da Web. Rio Grande do Sui, 2000.Disserta9iio submetida a avalia9iio, como requisito parcial, para a obten9iio dograu de Mestre em Cii'mcia da Computa9ilo - Universidade Federal do RioGrande do SuI. Disponivel em: http://upf.tche.br/-brusso/pub/dissertacao.pdfAcesso em 21/06/03.
CARVALHO, D. R., Data Mining atraves de Indu~ao de Regras e AlgoritmosGeneticos, Curitiba, 1999
CARVALHO, D., Bueno, M., Alves, W. Avalia~ao do conhecimento descobertoa partir de algoritmos de Data Mining. Campo largo, 2003. A ser publicado noII Encontro de Informatica da Faculdade Kennedy.
FAYYAD, U. M., Piatetsky-Shapiro, G., Smyth, P., Advances in KnowledgeDiscovery and Data Mining. USA, 1996. American Association for ArtificialIntelligence.
FREITAS, A. A. Introdu9ao a data mining. Curitiba, 2000. Parte 01. Programa deP6s-Gradua9iio em Informatica Aplicada. Notas de Aula da disciplina Data Mining- Universidade Cat6lica do Parana.
GIMENES, E. Data Mining. Taquaritinga, 1999. Monografia em Processamentode Dados - Fatec. Disponivel em:<http://geocities.yahoo.com.br/dugimenes/>Acesso em 15/03/2003.
GHEDINI, C. G. Um modele de apoio a documenta~ao de aplical;oes dedescoberta de conhecimento em base de dados. Rio Grande do Sui, 2000.Disponivel em <http://www.pucrs.br/inf/pos/dissertacoes/arquivos/cinara.pdf>Acesso em 15/03/2003.
IKIZlER, N., Guvenir, H. A. Mining Interesting Rules in Bank Loans Data.2001. In Proceedings of the Tenth Turkish Symposium on Artificial Intelligence andNeural Networks.
MELANDA, E. A., Rezende, S. 0. Medidas objetivas para analise einterpreta9ao de regras de associal;ao. Recife, 2002. Workshop de Teses eDisserta90es do SBIA'02.
51
PITONI, R. M. Minera~ao de regras de assocla!;ao nos canals de informa~aodo direto. Rio Grande do Sui, 2002. Disponlvel em:<http://www.inf.ufrgs.br/procpar/direto/trabalhos/Dissertacao_Pitoni.pdf> Acessoem 11/03/2003.
ROMAO, W. Descoberta de conhecimento relevante em banco de dadossobre ciencia e tecnologia. Santa Catarina, 2002. P6s-Graduayao. Setor deEngenharia de Produyao - Universidade Federal de Santa Catarina. Disponivelem <www.din.uem.br/-wesley/homepage1.htm> Acesso em 13/04/2003.
SANTOS, R. G. Utilizagao de t';cnicas data mining na busca deconhecimento na web. Rio Grande do Sui, 2000. Instituto de Fisica eMatematica Universidade Federal de Pelotas. Disponivel em:<http://www.ufpel.tche.br/prg/sisbiibibctiacervolinfo/2000/Mon0-RodrigoSantos.pdf> Acesso em 25/05/03.
SILVA, C. M. Descoberta de conhecimentos sobre 0 perfil do candidato aovestibular da unisinos, utilizando t"cnicas de data mining. Rio Grande do Sui,2001 - Universidade do Vale do Rio dos Sinos. Disponivel emwww.inf.unisinos.br/-osorio/sadilIDT-Complementar/ carla-tc-pp\.pdf > Acessoem 24/04/2003.
TAN, P., Kumar, V. Interestingess Measures for Association Patterns: APerspective. Boston, 2000. Workshop on Postprocessing in Machine Learningand Data Mining - KDD.
TERRA, E. Tecnologias para apoio a Tomada de Decisao. Porto Alegre, 2000.Disponivel em: <http://www.inf.pucrs.br/-egidio/tadcl> Acesso em 14/03/2003.
UNIVERSITY OF CALIFORNIA IRVINE - UCI. Data Bases. Disponivel em:http://ics.uci.ed/ailmachine-Iearning.html. Acesso em 17104/2002
VICENTIN, G. M. S. de, Angelotti, E. S. Modelagem de Dependenclas deMtiltiplas Classes utilizando 0 Algoritmo Beam Search. Salvador, 2003.Congresso Nacional de tecnologia da Informayao e Comunicayao - SUCESU.
ZANASI, A. Conferencia Internacional sobre Data Mining, Rio de Janeiro,2001. Disponivel em <http://www.planeta.coppe.ufrj.br/artigo.php?artigo=363>Acesso em 22/03/2003.
52
ANEXOS
ANEXO 1 - Instalayao do prot6tipo
=> Execute 0 programa Setup.exe
=> Entre com OK para prosseguir com a instalayiio
=> A tela seguinte informa 0 diret6rio aonde os arquivos necessarios para
execuyao do Sistema seriio armazenados. Clique no botao contendo a
figura para prosseguir
=> A instalayao se inicia e 0 ususrio poders acompanhar 0 andamento
=> Entre com OK para completar a operayao
53
ANEXO 2 - Regras descobertas pelo Apriori para a base de compra de livros
sim <-Inglaterra (20.0%,100.0%)Inglaterra <- sim (20.0%, 50.0%)adulto <- Inglaterra (10.0%,50.0%)Inglaterra <- adulto (10.0%,25.0%)Masculino <- Inglaterra (10.0%,50.0%)Inglaterra <- Masculino (10.0%,20.0%)Feminino <- Inglaterra (10.0%,50.0%)Inglaterra <- Feminino (10.0%,20.0%)jovem <- Inglaterra (10.0%, 50.0%)Inglaterra <- jovem (10.0%, 16.7%)Masculino <- Alemanha (20.0%,66.7%)Alemanha <- Masculino (20.0%,40.0%)Feminino <- Alemanha (10.0%,33.3%)Alemanha <- Feminino (10.0%, 20.0%)jovem <- Alemanha (30.0%,100.0%)Alemanha <- jovem (30.0%, 50.0%)nao <- Alemanha (30.0%, 100.0%)Alemanha <- nao (30.0%, 50.0%)adulto <- sim (10.0%,25.0%)sim <- adulto (10.0%, 25.0%)Franca <- sim (20.0%,50.0%)sim <- Franca (20.0%,40.0%)Masculino <- sim (20.0%, 50.0%)sim <- Masculino (20.0%,40.0%)Feminino <- sim (20.0%, 50.0%)sim <- Feminino (20.0%,40.0%)jovem <- sim (30.0%, 75.0%)sim <- jovem (30.0%, 50.0%)Franca <- adulto (30.0%, 75.0%)adulto <- Franca (30.0%, 60.0%)Masculino <- adulto (10.0%,25.0%)adulto <- Masculino (10.0%,20.0%)Feminino <- adulto (30.0%,75.0%)adulto <- Feminino (30.0%,60.0%)nao <- adulto (30.0%, 75.0%)adulto <- nao (30.0%, 50.0%)Masculino <- Franca (20.0%,40.0%)Franca <- Masculino (20.0%,40.0%)Feminino <- Franca (30.0%, 60.0%)Franca <- Feminino (30.0%,60.0%)jovem <- Franca (20.0%,40.0%)Franca <- jovem (20.0%, 33.3%)nao <- Franca (30.0%, 60.0%)Franca <- nao (30.0%, 50.0%)jovem <- Masculino (40.0%, 80.0%)Masculino <- jovem (40.0%,66.7%)nao <- Masculino (30.0%,60.0%)
54
Masculino <- nao (30.0%, 50.0%)jovem <- Feminino (20.0%,40.0%)Feminino <- jovem (20.0%, 33.3%)nao <- Feminino (30.0%,60.0%)Feminino <- nao (30.0%, 50.0%)nao <- jovem (30.0%, 50.0%)jovem <- nao (30.0%,50.0%)adulto <- Inglaterra sim (10.0%, 50.0%)sim <-Inglaterra adulto (10.0%,100.0%)Inglaterra <- sim adulto (10.0%,100.0%)Masculino <-Inglaterra sim (10.0%,50.0%)sim <-Inglaterra Masculino (10.0%, 100.0%)Inglaterra <- sim Masculino (10.0%,50.0%)Feminino <-Inglaterra sim (10.0%,50.0%)sim <- Inglaterra Feminino (10.0%, 100.0%)Inglaterra <- sim Feminino (10.0%,50.0%)jovem <-Inglaterra sim (10.0%,50.0%)sim <-Inglaterrajovem (10.0%,100.0%)Inglaterra <- sim jovem (10.0%,33.3%)Feminino <- Inglaterra adulto (10.0%,100.0%)adulto <- Inglaterra Feminino (10.0%, 100.0%)Inglaterra <- adulto Feminino (10.0%,33.3%)jovem <- Inglaterra Masculino (10.0%, 100.0%)Masculino <-Inglaterra jovem (10.0%,100.0%)Inglaterra <- Masculino jovem (10.0%,25.0%)jovem <- Alemanha Masculino (20.0%,100.0%)Masculino <- Alemanha jovem (20.0%, 66.7%)Alemanha <- Masculino jovem (20.0%, 50.0%)nao <- Alemanha Masculino (20.0%,100.0%)Masculino <- Alemanha nao (20.0%,66.7%)Alemanha <- Masculino nao (20.0%,66.7%)jovem <- Alemanha Feminino (10.0%, 100.0%)Feminino <- Alemanha jovem (10.0%, 33.3%)Alemanha <- Feminino jovem (10.0%,50.0%)nao <- Alemanha Feminino (10.0%,100.0%)Feminino <- Alemanha nao (10.0%,33.3%)Alemanha <- Feminino nao (10.0%,33.3%)nao <- Alemanha jovem (30.0%,100.0%)jovem <- Alemanha nao (30.0%,100.0%)Alemanha <- jovem nao (30.0%,100.0%)Feminino <- sim adulto (10.0%,100.0%)adulto <- sim Feminino (10.0%,50.0%)sim <- adulto Feminino (10.0%,33.3%)Masculino <- sim Franca (10.0%,50.0%)Franca <- sim Masculino (10.0%,50.0%)sim <- Franca Masculino (10.0%, 50.0%)Feminino <- sim Franca (10.0%,50.0%)Franca <- sim Feminino (10.0%,50.0%)sim <- Franca Feminino (10.0%, 33.3%)
55
jovem <- sim Franca (20.0%, 100.0%)Franca <- sim jovem (20.0%,66.7%)sim <- Franca jovem (20.0%, 100.0%)jovem <- sim Masculino (20.0%,100.0%)Masculino <- sim jovem (20.0%,66.7%)sim <- Masculino jovem (20.0%, 50.0%)jovem <- sim Feminino (10.0%,50.0%)Feminino <- sim jovem (10.0%, 33.3%)sim <- Feminino jovem (10.0%, 50.0%)Masculino <- adulto Franca (10.0%,33.3%)Franca <- adulto Masculino (10.0%, 100.0%)adulto <- Franca Masculino (10.0%, 50.0%)Feminino <- adulto Franca (20.0%,66.7%)Franca <- adulto Feminino (20.0%,66.7%)adulto <- Franca Feminino (20.0%,66.7%)nao <- adulto Franca (30.0%,100.0%)Franca <- adulto nao (30.0%,100.0%)adulto <- Franca nao (30.0%,100.0%)nao <- adulto Masculino (10.0%,100.0%)Masculino <- adulto nao (10.0%, 33.3%)adulto <- Masculino nao (10.0%,33.3%)nao <- adulto Feminino (20.0%,66.7%)Feminino <- adulto nao (20.0%,66.7%)adulto <- Feminino nao (20.0%,66.7%)jovem <- Franca Masculino (10.0%,50.0%)Masculino <- Franca jovem (10.0%,50.0%)Franca <- Masculino jovem (10.0%,25.0%)nao <- Franca Masculino (10.0%,50.0%)Masculino <- Franca nao (10.0%,33.3%)Franca <- Masculino nao (10.0%,33.3%)jovem <- Franca Feminino (10.0%,33.3%)Feminino <- Franca jovem (10.0%, 50.0%)Franca <- Feminino jovem (10.0%,50.0%)nao <- Franca Feminino (20.0%,66.7%)Feminino <- Franca nao (20.0%,66.7%)Franca <- Feminino nao (20.0%,66.7%)nao <- Masculino jovem (20.0%, 50.0%)jovem <- Masculino nao (20.0%,66.7%)Masculino <- jovem nao (20.0%,66.7%)nao <- Feminino jovem (10.0%,50.0%)jovem <- Feminino nao (10.0%,33.3%)Feminino <- jovem nao (10.0%,33.3%)Feminino <- Inglaterra sim adulto (10.0%, 100.0%)adulto <- Inglaterra sim Feminino (10.0%, 100.0%)sim <- Inglaterra adulto Feminino (10.0%, 100.0%)Inglaterra <- sim adulto Feminino (10.0%,100.0%)jovem <- Inglaterra sim Masculino (10.0%,100.0%)Masculino <-Inglaterra sim jovem (10.0%,100.0%)sim <- Inglaterra Masculino jovem (10.0%,100.0%)
56
Inglaterra <- sim Masculino jovem (10.0%,50.0%)nao <- Alemanha Masculino jovem (20.0%, 100.0%)jovem <- Alemanha Masculino nao (20.0%, 100.0%)Masculino <- Alemanha jovem nao (20.0%,66.7%)Alemanha <- Masculino jovem nao (20.0%,100.0%)nao <- Alemanha Feminino jovem (10.0%, 100.0%)jovem <- Alemanha Feminino nao (10.0%, 100.0%)Feminino <- Alemanha jovem nao (10.0%,33.3%)Alemanha <- Feminino jovem nao (10.0%, 100.0%)jovem <- sim Franca Masculino (10.0%,100.0%)Masculino <- sim Franca jovem (10.0%,50.0%)Franca <- sim Masculino jovem (10.0%,50.0%)sim <- Franca Masculino jovem (10.0%,100.0%)jovem <- sim Franca Feminino (10.0%, 100.0%)Feminino <- sim Franca jovem (10.0%,50.0%)Franca <- sim Feminino jovem (10.0%,100.0%)sim <- Franca Feminino jovem (10.0%, 100.0%)nao <- adulto Franca Masculino (10.0%,100.0%)Masculino <- adulto Franca nao (10.0%,33.3%)Franca <- adulto Masculino nao (10.0%,100.0%)adulto <- Franca Masculino nao (10.0%, 100.0%)nao <- adulto Franca Feminino (20.0%, 100.0%)Feminino <- adulto Franca nao (20.0%,66.7%)Franca <- adulto Feminino nao (20.0%,100.0%)adulto <- Franca Feminino nao (20.0%, 100.0%)
ANEXO 3 - Resultado do p6s-processamento sem valor atribuido ao suporte para
a base de compra de livros
Se jovem nao Entao Alemanha -> Valor IS = 10, Valor TA = 100( Sup = 30% Conf = 100% )Se Franca nao Entao adulto => Valor IS = 8,66, Valor TA = 90( Sup = 30% Conf = 100%)Se Masculino jovem nao Entao Alemanha => Valor IS = 8,16, Valor TA = 90( Sup = 20% Conf = 100%)Se adulto nao Entao Franca => Valor IS = 7,75, Valor TA = 80(Sup = 30% Conf = 100%)Se Masculino Entao jovem => Valor IS = 7,3, Valor TA = 70( Sup = 40% Conf = 80% )Se jovem Entilo Masculino => Valor IS = 7,3, ValorTA = 70( Sup = 40% Conf = 66% )Se Alemanha nao Entao jovem => Valor IS = 7,07, Valor TA = 70(Sup = 30% Conf = 100% )Se Alemanha Entao jovem => Valor IS = 7,07, Valor TA = 70(Sup = 30% Conf = 100% )Se jovem Entao Alemanha => Valor IS = 7,07, Valor TA = 70( Sup = 30% Conf = 50% )Se Alemanha Entao nao => Valor IS = 7,07, ValorTA = 70(Sup = 30% Conf = 100% )Se nao Entao Alemanha => Valor IS = 7,07, Valor TA = 70( Sup = 30% Conf = 50% )Se Alemanha jovem Entao nao => Valor IS = 7,07, Valor TA = 70( Sup = 30% Conf = 100% )Se adulto Franca Entao nao => Valor IS = 7,07, Valor TA = 70( Sup = 30% Conf = 100% )Se sim Entao Inglaterra => Valor IS = 7,07, Valor TA = 80( Sup = 20% Conf = 50% )Se Inglaterra Entao sim => Valor IS = 7,07, Valor TA = 80( Sup = 20% Conf = 100% )Se Franca Feminino nao Entao adulto => Valor IS = 7,07, Valor TA = 80(Sup = 20% Conf = 100% )Se Franca jovem Entao sim => Valor IS = 7,07, Valor TA = 80( Sup = 20% Conf = 100% )Se sim adulto Entao Inglaterra => Valor IS = 7,07, Valor TA = 90( Sup = 10% Conf = 100% )Se sim adulto Feminino Entilo Inglaterra => Valor IS = 7,07, Valor TA = 90(Sup= 10% Conf= 100%)Se Feminino Entao adulto => Valor IS = 6,71, Valor TA = 70( Sup = 30% Conf = 60% )Se adulto Entao Franca => Valor IS = 6,71, Valor TA = 70( Sup = 30% Conf = 75% )Se Franca Entao adulto => Valor IS = 6,71, Valor TA = 70( Sup = 30% Conf = 60% )Se adulto Entao Feminino => Valor IS = 6,71, ValorTA = 70
57
(Sup 30% Conf = 75% )Se Masculino nao Entao Alemanha => Valor IS = 6,67, Valor TA = 80( Sup = 20% Conf = 66% )Se adulto Feminino nao Entao Franca => Valor IS = 6,32, Valor TA = 70(Sup = 20% Conf = 100% )Se adulto Entao nao => Valor IS = 6,12, ValorTA = 60( Sup = 30% Conf = 75% )Se iovem Entao sim => Valor IS = 6,12, Valor TA = 60( Sup = 30% Conf = 50% )Se sim Entao iovem => Valor IS = 6,12, Valor TA = 60( Sup = 30% Conf = 75% )Se nao EntaD adulto => Valor IS = 6,12, ValorTA = 60( Sup = 30% Conf = 50% )Se Franca Entao Feminino => Valor IS = 6, ValorTA = 60( Sup = 30% Conf = 60% )Se Feminino Entao Franca => Valor IS = 6, Valor TA = 60( Sup = 30% Conf = 60% )Se Alemanha Masculino Entao nao => Valor IS = 5,77, Valor TA = 60( Sup = 20% Conf = 100% )Se adulto Franca Feminino Entao nao => Valor IS = 5,77, Valor TA = 60( Sup = 20% Conf = 100% )Se sim Franca Entao iovem => Valor IS = 5,77, Valor TA = 60( Sup = 20% Conf = 100%)Se sim Masculino Entao iovem => Valor IS = 5,77, Valor TA = 60( Sup = 20% Conf = 100%)Se Alemanha Masculino nao Entao iovem => Valor IS = 5,77, Valor TA = 60(Sup = 20% Conf = 100% )Se Alemanha Masculino EntaD iovem => Valor IS = 5,77, Valor TA = 60( Sup = 20% Conf = 100% )Se Alemanha Masculino iovem EntaD nao => Valor IS = 5,77, Valor TA = 60(Sup = 20% Conf = 100% )Se Masculino iovem EntaD Alemanha => Valor IS = 5,77, Valor TA = 70( Sup = 20% Conf = 50% )Se Feminino nao Entao adulto => Valor IS = 5,77, Valor TA = 70( Sup = 20% Conf = 66% )Se Franca Feminino Entao adulto => Valor IS = 5,77, Valor TA = 70( Sup = 20% Conf = 66% )Se Feminino iovem nao EntaD Alemanha => Valor IS = 5,77, Valor TA = 80( Sup = 10% Conf = 100%)Se nao EntaD Franca => Valor IS = 5,48, Valor TA = 50( Sup = 30% Conf = 50% )Se nao Entao Masculino => Valor IS = 5,48, Valor TA = 50( Sup = 30% Conf = 50% )Se Franca Entao nao => Valor IS = 5,48, Valor TA = 50( Sup = 30% Conf = 60% )Se Feminino Entao nao => Valor IS = 5,48, Valor TA = 50( Sup = 30% Conf = 60% )Se nao Entao Feminino => Valor IS = 5,48, Valor TA = 50( Sup = 30% Conf = 50% )
58
Se Masculino Entao nao => Valor IS = 5,48, Valor TA = 50( Sup = 30% ConI = 60% )Se sim jovem Entao Franca => Valor IS = 5,16, Valor TA = 60( Sup = 20% ConI = 66% )Se Alemanha jovem Entao Masculino => Valor IS = 5,16, ValorTA = 60( Sup = 20% ConI = 66% )Se Alemanha nao Entao Masculino => Valor IS = 5,16, Valor TA = 60( Sup = 20% ConI = 66% )Se Alemanha Entao Masculino => Valor IS = 5,16, Valor TA = 60( Sup = 20% ConI = 66% )Se Masculino Entao Alemanha => Valor IS = 5,16, Valor TA = 60( Sup = 20% ConI = 40% )Se jovem nao Entao Masculino => Valor IS = 5,16, ValorTA = 60( Sup = 20% ConI = 66% )Se adulto Franca nao Entao Feminino => Valor IS = 5,16, Valor TA = 60( Sup = 20% ConI = 66% )Se sim jovem Entao Masculino => Valor IS = 5,16, Valor TA = 60( Sup = 20% ConI = 66% )Se Feminino nao Entao Franca => Valor IS = 5,16, Valor TA = 60( Sup = 20% ConI = 66% )Se Franca nao Entao Feminino => Valor IS = 5,16, Valor TA = 60( Sup = 20% ConI = 66% )Se adulto Franca Entao Feminino => Valor IS = 5,16, Valor TA = 60( Sup = 20% ConI = 66% )Se adulto Feminino Entao Franca => Valor IS = 5,16, Valor TA = 60( Sup = 20% ConI = 66% )Se adulto nao Entao Feminino => Valor IS = 5,16, Valor TA = 60( Sup = 20% ConI = 66% )Se Alemanha jovem nao Entao Masculino => Valor IS = 5,16, Valor TA = 60( Sup = 20% ConI = 66% )Se nao Entao jovem => Valor IS = 5, Valor TA = 40( Sup = 30% ConI = 50% )Se jovem Entao nao => Valor IS = 5, Valor TA = 40( Sup = 30% ConI = 50% )Se Masculino jovem Entao sim => Valor IS = 5, Valor TA = 60( Sup = 20% ConI = 50% )Se Inglaterra adulto Entao sim => Valor IS = 5, Valor TA = 70( Sup = 10% ConI = 100%)Se Inglaterra Masculino jovem Entao sim => Valor IS = 5, Valor TA = 70(Sup = 10% Conl= 100%)Se Inglaterra sim Feminino Entao adulto => Valor IS = 5, Valor TA = 70(Sup = 10% Conl= 100%)Se Inglaterra Feminino Entao adulto => Valor IS = 5, ValorTA = 70(Sup = 10% Conl= 100%)Se Inglaterra jovem Entao sim => Valor IS = 5, ValorTA = 70( Sup = 10% ConI = 100%)Se Inglaterra Feminino Entao sim => Valor IS = 5, Valor TA = 70( Sup = 10% ConI = 100%)Se Franca Masculino nao Entao adulto => Valor IS = 5, Valor TA = 70
59
( Sup = 10% Conf - 100%)Se Franca Feminino jovem EntaD sim => Valor IS = 5, Valor TA = 70(Sup = 10% Conf= 100%)Se Inglaterra Masculino EntaD sim => Valor IS = 5, Valor TA = 70(Sup = 10% Conf= 100%)Se Inglaterra adulto Feminino EntaD sim => Valor IS = 5, Valor TA = 70(Sup = 10% Conf = 100% )Se Franca Masculino jovem EntaD sim => Valor IS = 5, Valor TA = 70( Sup = 10% Conf = 100% )Se sim Feminino EntaD Inglaterra => Valor IS = 5, Valor TA = 80( Sup = 10% Conf = 50% )Se sim Masculino jovem EntaD Inglaterra => Valor IS = 5, ValorTA = 80( Sup = 10% Conf = 50%)Se sim Masculino EntaD Inglaterra => Valor IS = 5, ValorTA = 80( Sup = 10% Conf = 50% )Se Franca Feminino EntaD nao => Valor IS = 4.71. ValorTA = 50( Sup = 20% Conf = 66% )Se Masculino nao EntaD jovem => Valor IS = 4,71, Valor TA = 50( Sup = 20% Conf = 66% )Se adulto Feminino EntaD nao => Valor IS = 4.71, Valor TA = 50( Sup = 20% Conf = 66% )Se Masculino EntaD sim => Valor IS = 4,47, Valor TA = 50( Sup = 20% Conf = 40% )Se sim EntaD Feminino => Valor IS = 4,47. Valor TA = 50( Sup = 20% Conf = 50% )Se Franca EntaD sim => Valor IS = 4,47, Valor TA = 50( Sup = 20% Conf = 40% )Se sim EntaD Masculino => Valor IS = 4,47, ValorTA= 50( Sup = 20% Conf = 50% )Se Feminino Entilo sim => Valor IS = 4.47, Valor TA = 50( Sup = 20% Conf = 40% )Se sim EntaD Franca => Valor IS = 4,47, Valor TA = 50( Sup = 20% Conf = 50% )Se adulto Masculino EntaD Franca => Valor IS = 4.47, Valor TA = 60(Sup = 10% Conf = 100% )Se sim adulto EntaD Feminino => Valor IS = 4,47, ValorTA = 60(Sup = 10% Con! = 100%)Se Inglaterra adulto EntaD Feminino => Valor IS = 4,47, Valor TA = 60( Sup = 10% Conf = 100%)Se Inglaterra jovem EntaD Masculino => Valor IS = 4,47, Valor TA = 60( Sup = 10% Con! = 100% )Se Inglaterra sim jovem EntaD Masculino => Valor IS = 4,47, Valor TA = 60(Sup = 10% Con!= 100%)Se Inglaterra sim adulto EntaD Feminino => Valor IS = 4,47, Valor TA = 60(Sup = 10% Con! = 100%)Se sim Feminino jovem EntaD Franca => Valor IS = 4,47, Valor TA = 60( Sup = 10% Con! = 100%)Se adulto Masculino nao EntaD Franca => Valor IS = 4,47, Valor TA = 60(Sup = 10% Conf= 100%)
60
(Sup = 10% Conf= 25%)Se sim Feminino Entao adulto => Valor IS = 3,54, Valor TA = 60(Sup = 10% Conf= 50%)Se Franca Masculino Entao sim => Valor IS = 3,54, Valor TA = 60(Sup = 10% Conf= 50%)Se Franca Masculino Entao adulto => Valor IS = 3,54, ValorTA = 60(Sup = 10% Conf= 50%)Se Feminino nao Entao Alemanha => Valor IS = 3,33, Valor TA = 60( Sup = 10% Conf = 33%)Se Franca jovem Entao Feminino => Valor IS = 3,16, Valor TA = 50( Sup = 10% Conf = 50%)Se Feminino jovem Entao Franca => Valor IS = 3,16, Valor TA = 50( Sup = 10% Conf = 50%)Se Inglaterra sim Entao Masculino => Valor IS = 3,16, ValorTA = 50(Sup = 10% Conf = 50%)Se sim Masculino jovem Entao Franca => Valor IS = 3,16, Valor TA = 50( Sup = 10% Conf = 50%)Se Feminino Entao Inglaterra => Valor IS = 3,16, Valor TA = 50( Sup = 10% Conf = 20% )Se Inglaterra sim Entao Feminino => Valor IS = 3,16, ValorTA = 50(Sup = 10% Conf = 50%)Se sim Franca jovem Entao Feminino => Valor IS = 3,16, Valor TA = 50( Sup = 10% Conf = 50%)Se sim Franca Entao Masculino => Valor IS = 3,16, Valor TA = 50(Sup = 10% Conf = 50% )Se Franca jovem Entao Masculino => Valor IS = 3,16, Valor TA = 50(Sup = 10% Conf = 50% )Se Masculino Entao Inglaterra => Valor IS = 3,16, Valor TA = 50( Sup = 10% Conf = 20% )Se Inglaterra Entao Masculino => Valor IS = 3,16, Valor TA = 50( Sup = 10% Conf = 50% )Se sim Masculino Entao Franca => Valor IS = 3,16, Valor TA = 50(Sup = 10% Conf = 50% )Se sim Franca jovem Entao Masculino => Valor IS = 3,16, ValorTA = 50(Sup = 10% Conf = 50% )Se sim Feminino Entao Franca => Valor IS = 3,16, Valor TA = 50(Sup = 10% Conf= 50%)Se sim Franca Entao Feminino => Valor IS = 3,16, Valor TA = 50(Sup = 10% Conf= 50%)Se Inglaterra Entao Feminino => Valor IS = 3,16, Valor TA = 50(Sup = 10% Conf = 50%)Se Inglaterra Entao jovem => Valor IS = 2,89, ValorTA = 40(Sup = 10% Conf= 50%)Se jovem Entao Inglaterra => Valor IS = 2,89, Valor TA = 40(Sup = 10% Conf= 16%)Se Inglaterra sim Entao jovem => Valor IS = 2,89, Valor TA = 40(Sup = 10% Conf = 50% )Se Feminino jovem Entao nao => Valor IS = 2,89, Valor TA = 40( Sup = 10% Conf = 50% )
62
Se sim Feminino Entao jovem => Valor IS - 2,89, Valor TA = 40( Sup = 10% ConI = 50%)Se Franca Masculino Entao nao => Valor IS = 2,89, Valor TA = 40( Sup = 10% ConI = 50%)Se Franca Masculino Entao jovem => Valor IS = 2,89, Valor TA = 40(Sup = 10% Conl= 50%)Se Franca Feminino Entao sim => Valor IS = 2,89, Valor TA = 50( Sup = 10% ConI = 33%)Se adulto Feminino Entao sim => Valor IS = 2,89, Valor TA = 50( Sup = 10% ConI = 33% )Se Masculino nao Entao adulto => Valor IS = 2,89, Valor TA = 50(Sup = 10% Conl= 33%)Se Feminino Entao Alemanha => Valor IS = 2,58, Valor TA = 40(Sup = 10% Conl= 20%)Se sim jovem Entao Feminino => Valor IS = 2,58, ValorTA = 40(Sup = 10% Conl= 33%)Se adulto Franca nao Entao Masculino => Valor IS = 2,58, Valor TA = 40( Sup = 10% ConI = 33% )Se adulto Franca Entao Masculino => Valor IS = 2,58, Valor TA = 40(Sup = 10% Conl= 33%)Se Alemanha jovem Entao Feminino => Valor IS = 2,58, Valor TA = 40(Sup = 10% Conl= 33%)Se Alemanha Entao Feminino => Valor IS = 2,58, Valor TA = 40(Sup = 10% Conl= 33%)Se Alemanha nao Entao Feminino => Valor IS = 2,58, Valor TA = 40(Sup = 10% Conl= 33%)Se jovem nao Entao Feminino => Valor IS = 2,58, Valor TA = 40(Sup = 10% Conl= 33%)Se adulto na~ Entao Masculino => Valor IS = 2,58, Valor TA = 40(Sup = 10% Conl= 33%)Se Franca nao Entao Masculino => Valor IS = 2,58, ValorTA = 40(Sup = 10% ConI = 33% )Se Masculino nao Entao Franca => Valor IS = 2,58, Valor TA = 40(Sup = 10% ConI = 33% )Se Alemanha jovem nao Entao Feminino => Valor IS = 2,58, Valor TA = 40( Sup = 10% ConI = 33% )Se sim Entao adulto => Valor IS = 2,5, Valor TA = 40(Sup = 10% ConI = 25%)Se adulto Entao sim => Valor IS = 2,5, Valor TA = 40( Sup = 10% ConI = 25%)Se Franca Feminino Entao jovem => Valor IS = 2,36, Valor TA = 30( Sup = 10% ConI = 33%)Se Feminino nao Entao jovem => Valor IS = 2,36, Valor TA = 30( Sup = 10% ConI = 33%)Se Masculino jovem Entao Franca => Valor IS = 2,24, Valor TA = 30(Sup = 10% Conl= 25%)Se Masculino Entao adulto => Valor IS = 2,24, Valor TA = 30(Sup = 10% Conl= 20%)
63
ANEXO 4 - Resultados das regras descobertas para a base house-votes
Disponivel em CD.
64