Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de...

41
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA CURSO DE PÓS-GRADUAÇÃO WEB E SISTEMAS DE INFORMAÇÃO ROSEMARI DE FREITAS SILVEIRA Mineração de Dados Aplicada à Definição de Índices em Sistemas de Raciocínio Baseado em Casos. Trabalho de Conclusão apresentado como requisito parcial para a obtenção do grau de especialista em Ciência da Computação Profa. Dra. Mara Abel Orientadora Porto Alegre, novembro de 2003.

Transcript of Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de...

Page 1: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA

CURSO DE PÓS-GRADUAÇÃO WEB E SISTEMAS DE INFORMAÇÃO

ROSEMARI DE FREITAS SILVEIRA

Mineração de Dados Aplicada à Definição de Índices em Sistemas de Raciocínio Baseado em Casos.

Trabalho de Conclusão apresentado como requisito parcial para a obtenção do grau de especialista em Ciência da Computação

Profa. Dra. Mara Abel Orientadora

Porto Alegre, novembro de 2003.

Page 2: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

CIP – CATALOGAÇÃO NA PUBLICAÇÃO

Silveira, Rosemari de Freitas Mineração de Dados Aplicada a Definição de Índices em Sistemas de Raciocínio

Baseado em Casos / por Rosemari de Freitas Silveira. – Porto Alegre: CPGCC da UFRGS, 2003.

41fl.: il. Dissertação (pós-graduação) – Universidade Federal do Rio Grande do Sul. Curso de

Pós-Graduação em Web Sistemas de Informação, Porto Alegre, BR-RS, 2003. Orientador: Abel, Mara.

1. Raciocínio Baseado em Casos. 2. Mineração de Dados.

Page 3: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

SUMÁRIO

LISTA DE FIGURAS ...................................................................................................... 5

LISTA DE TABELAS ..................................................................................................... 6

LISTA DE TABELAS ..................................................................................................... 6

RESUMO ......................................................................................................................... 7

1 INTRODUÇÃO...................................................................................................... 8

2 RACIOCÍNIO BASEADO EM CASOS.............................................................. 10

2.1 Representação de Casos........................................................................................ 13

2.2 Recuperação de Casos .......................................................................................... 13 2.2.1 Similaridade ................................................................................................... 14

2.3 Reutilização de Casos........................................................................................... 15

2.4 Revisão de Casos .................................................................................................. 16

2.5 Retenção de Novos Casos .................................................................................... 16

3 MINERAÇÃO DE DADOS................................................................................. 17

3.1 Tarefas de Mineração de Dados ........................................................................... 17 3.1.1 Classificação .................................................................................................. 17 3.1.2 Agrupamento ................................................................................................. 17 3.1.3 Estimativa ...................................................................................................... 18 3.1.4 Sumarização................................................................................................... 18 3.1.5 Associação ..................................................................................................... 18 3.1.6 Desvio ............................................................................................................ 18

3.2 Técnicas de Mineração de Dados ......................................................................... 18 3.2.1 Regras Associativas ....................................................................................... 19 3.2.2 Árvores de Decisão........................................................................................ 20 3.2.3 Descoberta de Agrupamentos ........................................................................ 21

3.3 Técnica versus Tarefa em Mineração de Dados................................................... 22

4 INDEXAÇÃO ...................................................................................................... 24

4.1 Índices Baseados em Conhecimento do Domínio ................................................ 24

Page 4: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

4.2 Técnicas Baseadas em Explicação ....................................................................... 25

4.3 Índices Baseados em Checklist............................................................................. 26

4.4 Análise Matemática .............................................................................................. 26

4.5 Árvores de Decisão............................................................................................... 26

4.6 Modelo Neural Combinatório............................................................................... 27

4.7 Tabela Comparativa entre os Métodos ................................................................. 28

5 INTEGRANDO RBC COM MINERAÇÃO DE DADOS .................................. 29

5.1 Base de Dados ...................................................................................................... 29

5.2 Weka - Software de Mineração de Dados ............................................................ 30

5.3 Cálculo da Entropia e Determinação do Peso dos Atributos................................ 32

5.4 Aplicativo de RBC ............................................................................................... 35

CONCLUSÃO................................................................................................................ 38

REFERÊNCIAS ............................................................................................................. 40

Page 5: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

LISTA DE FIGURAS

FIGURA 2.1: CICLO CO RBC (AAMODT 1994) .............................................................................................12 FIGURA 2-2: ALGORITMO DE VIZINHANÇA..................................................................................................15 FIGURA 3-1: ESQUEMA DE REGRAS DE ASSOCIAÇÃO ..................................................................................19 FIGURA 3-2: EXEMPLO DE ÁRVORE DE DECISÃO: PERFIL DE COMPRA (WESTPHAL 1998)..........................21 FIGURA 5-1: EXEMPLO DO ARQUIVO .ARFF .................................................................................................30 FIGURA 5-2: TELA QUE CARREGA O ARQUIVO DE DADOS (WEKA) .............................................................31 FIGURA 5-3: TELA PARA ESCOLHA DO CLASSIFICADOR (WEKA)...............................................................31 FIGURA 5-4: ÁRVORE DE DECISÃO (WEKA) ..............................................................................................32 FIGURA 5-5: TELA DO APLICATIVO RBC ....................................................................................................36 FIGURA 5-6: ALGORITMO DE VIZINHANÇA..................................................................................................36

Page 6: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

LISTA DE TABELAS

TABELA 3-1: DADOS HIPOTÉTICOS DE TRANSAÇÕES. FONTE (NOGUEZ 2000) ............................................20 TABELA 3-2: ASSOCIAÇÃO CALCULADA A PARTIR DA TABELA. FONTE (NOGUEZ 2000) ............................20 TABELA 3-3: COMPARAÇÃO ENTRE TÉCNICAS E TAREFAS DE MINERAÇÃO DE DADOS (FAYYAD 1996) .....22 TABELA 4-1: COMPARAÇÃO ENTRE MÉTODOS E SOFTWARES DE RBC (KOLODNER 1993) ..........................28 TABELA 5-1: ATRIBUTOS DA BASE DE DADOS - MÉTODOS CONTRACEPTIVOS............................................29 TABELA 5-2: BASE DE CASOS PARA EXEMPLO DO CÁLCULO DA ENTROPIA ................................................33 TABELA 5-3: BASE DE CASOS PARA EXEMPLO DO CÁLCULO DA ENTROPIA ................................................34

Page 7: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

RESUMO

Raciocínio baseado em casos utiliza experiências passadas para resolver novos problemas, adaptando as soluções que foram utilizadas anteriormente a uma nova situação. A adaptação e reuso da solução são definidos considerando o quanto um caso já resolvido é similar à nova situação de problema. A medida de similaridade entre casos armazenados e novos casos é uma questão central para sistemas que implementam raciocínio baseado em casos. Um caso é representado pelos atributos necessários para descrever uma determinada situação de modo único. Os atributos recebem valores definidos dentro de um domínio possível de valores válidos para aquele contexto de problemas. Porem, determinados atributos são mais importantes ou significativos para determinar qual a melhor solução a ser aplicada ao problema em questão. A medida de similaridade entre novos problemas e casos armazenados é dada pela diferença de valores entre os atributos do problema e de cada caso armazenado, avaliados um a um, considerando a importância relativa de cada atributo em discriminar a possível solução. Essa importância denomina-se peso e atributos de maior peso serão utilizados como índices da base de casos para agilizar a busca do caso mais similar. A mineração de dados permite mensurar a influência de determinados atributos em discriminar as soluções em uma base de casos. Essa medida permite determinar os intervalos de valores de pesos mais adequados a serem associados a cada atributo em particular, de forma a obter medidas de similaridades mais eficazes na recuperação de casos. Este trabalho analisa a mineração de dados como uma ferramenta para determinação de índices em sistemas de raciocínio baseado em casos. Foi utilizada uma ferramenta de mineração para determinar a árvore de discriminação, gerada com o algoritmo C4.5, de uma base de casos de estudo e, a partir dessa árvore, foram determinados os valores de pesos a serem utilizados no algoritmo de similaridade. Um sistema demonstra a viabilidade da técnica aplicada.

Palavras-chave: raciocínio baseado em casos, mineração de dados, construção de índices

Page 8: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

8

1 INTRODUÇÃO

Raciocínio Baseado em Casos (RBC) é uma abordagem de desenvolvimento de

sistemas, onde a idéia básica é armazenar experiências de casos passados, para que a solução destes seja reutilizada, facilitando e agilizando a solução de novos problemas.

Um caso, na base de conhecimento, tem a descrição completa do problema, com a solução aplicada. Para ficar mais completo, o ideal é que seja registrada uma avaliação da solução adotada bem como o registro das falhas ocorridas, para que as falhas não sejam repetidas no futuro.

Raciocínio Baseado em Casos pode ser usado para várias tarefas de raciocínio como, por exemplo: propor soluções para novos problemas, antecipar, evitar e explicar fracassos em soluções propostas, e adequar e/ou reparar soluções propostas. Um sistema que usa esse modelo de raciocínio aprende quando ele permite que problemas recém-resolvidos possam ser acrescentados à sua base de casos, de forma que eles possam ser utilizados para resolver novos problemas.

A indexação de casos é uma das tarefas mais difíceis em RBC. Para auxiliar nesta fase, existem métodos que podem ser associados para auxiliar na identificação dos atributos mais importantes e na definição dos índices. A abordagem sugerida neste trabalho é a integração de RBC com mineração de dados.

Mineração de Dados caracteriza-se pela existência do algoritmo que diante da tarefa especificada, será capaz de extrair eficientemente conhecimento implícito e útil de um banco de dados. Pode-se dizer que mineração de dados é a fase que transforma dados em informações, conseqüentemente um sistema de suporte a decisão baseado em algoritmos de mineração de dados é o que transforma os dados em possíveis ações e na percepção de aumento dos lucros.

A mineração de dados está fortemente ligada a técnicas de aprendizado de máquina, tais como: Árvores de Decisão, Redes Neurais Artificiais, Regras de Associação e Agrupamento de Dados.

Este trabalho apresenta um exemplo prático de como pode ser realizada a integração entre RBC e Mineração de Dados, utilizando mineração de dados para descobrir os melhores índices de uma base de dados, que possam ser utilizados para recuperação de casos em um aplicativo de RBC.

Foi utilizado o software de mineração de dados chamado “Weka Knowledge Explorer” [Waikato, 2000]A base de dados estudada contém um conjunto de dados de uma pesquisa sobre métodos contraceptivos realizada na Indonésia em 1987. A base de dados é submetida ao software Weka, e através da análise da árvore de decisão gerada, foi possível extrair as regras para determinar quais os atributos são

Page 9: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

9

mais correlacionados com as soluções apresentadas, de modo que possam ser utilizados para o cálculo da similaridade entre novos problemas e os casos da base.

Os próximos capítulos apresentam uma visão geral das abordagens estudadas: RBC, no capítulo 2, e Mineração de Dados, no capítulo 3. O capítulo 4 descreve formas de construção de índices para sistemas de raciocínio baseado em casos e Capítulo 5 apresenta o estudo de caso deste trabalho.

Page 10: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

10

2 RACIOCÍNIO BASEADO EM CASOS

O objetivo deste capítulo é apresentar a abordagem de RBC, definições e exemplos que possam esclarecer o entendimento, a aplicação e a construção deste tipo de sistema.

RBC é um enfoque para a solução de problemas e para o aprendizado baseado em experiência passada. RBC resolve problemas ao recuperar e adaptar experiências passadas – chamados casos – armazenadas em uma base de casos. Um novo problema é resolvido com base na adaptação de soluções de problemas similares já conhecidos [Von Wangennheim e Von Wangenheim, 2003].

Nos últimos anos, o RBC surgiu como uma abordagem poderosa para solução automática de problemas. RBC é aplicável de forma simples e direta a um amplo espectro de tarefas, todas tipicamente relacionadas à Inteligência Artificial (IA).

O enfoque de RBC é resolver um novo problema relembrando uma situação anterior similar e, então, reutilizar informação e conhecimento daquela situação [Riesbeck e Schank, 1989].

A idéia de que o processo de solução de problemas humano [VanLehn, 1989] é baseado no uso de experiências passadas tem sido apoiada pela pesquisa da ciência cognitiva e psicológica. Conforme esta idéia, o aprendizado é um produto do ato de vivenciar novos fatos tentando compreendê-los e integrá-los ao conhecimento já existente.

Existem muitos exemplos que podem ser citados para demonstrar a utilização dos conceitos de RBC, exemplos clássicos de solução de problemas baseados em casos que já aconteceram em determinada situação e que podem ser aplicadas novamente, ou então adaptadas para a nova realidade:

• Um médico ao indicar o tratamento para um paciente, baseia-se no histórico de doenças e casos já analisados por ele, verificando os sintomas e aplicando um tratamento semelhante ao utilizado anteriormente;

• Um advogado para determinar seus argumentos na defesa do seu cliente, utiliza casos que já foram julgados para auxiliá-lo;

• Um técnico de uma máquina para solucionar o problema apresentado; • Um atendente de help desk para indicar a solução do problema relatado pelo

cliente; • Um mecânico para consertar o problema apresentado no motor de um carro. Enfim, os exemplos são os mais variados possíveis e em todos os casos pode-se

utilizar a experiência para indicar a melhor solução para o problema apresentado, ou

Page 11: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

11

seja, a solução para o problema obtida no passado será utilizada para orientar a solução do problema na situação presente.

A tecnologia de RBC pode ser vista sob dois pontos de vista diferentes. Pode ser considerada como uma abordagem para modelar o raciocínio e o pensamento humano e também construir sistemas computacionais inteligentes [Von Wangennheim e Von Wangenheim, 2003]. RBC não se baseia unicamente em conhecimento generalizado acerca de um domínio de problemas ou de realizar associações lógicas ao longo de relacionamentos abstratos entre descritores de problemas e conclusões, RBC é capaz de utilizar o conhecimento específico de soluções de problemas concretos, experimentadas anteriormente, denotadas como casos [Von Wangennheim e Von Wangenheim, 2003].

Um caso pode ter diferentes conteúdos e representações, dependendo da área de aplicação, Por exemplo, em um sistema de diagnóstico médico, um caso pode ser representado pela descrição de características do paciente, como: idade, sexo, doenças prévias, sintomas presentes, doença diagnosticada e tratamento aplicado.

Um caso representa tipicamente a descrição de uma situação (problema) associando as experiências adquiridas durante a resolução, ou seja, a descrição do problema e a solução aplicada. Um caso pode conter outros itens, como os efeitos da aplicação da solução ou a justificativa para aquela solução ou sua respectiva explicação [Kolodner, 1993].

Nos casos estão descritas as experiências concretas, vividas em uma situação específica. Pode-se criar também casos abstratos, que fazem a união de experiências adquiridas em um conjunto de situações.

Os casos são organizados e armazenados em bases de casos (BC), para facilitar a sua reutilização. Uma base de casos é uma duplicação de uma parte selecionada dos dados da organização que contém as experiências positivas e a descrição da estratégia adotada para solução do problema. As experiências negativas também podem ser armazenadas, com o objetivo de indicar problemas e evitar a repetição de erros passados.

Ao lado dos casos, um sistema de RBC pode também incluir conhecimento geral acerca do seu domínio de aplicação. Existem quatro repositórios nos quais podem ser armazenado conhecimento, denominados Repositórios de Conhecimento [Richter, 1995]:

• Vocabulário utilizado para descrever o conhecimento geral do domínio que é utilizado durante os diferentes estágios do processo de RBC.

• Casos já experimentados no passado e armazenados em uma base de casos. • Conhecimento sobre como identificar casos que podem ser úteis para

resolver o problema atual. É utilizada uma medida de similaridade sobre os casos armazenados e o problema atual, ou seja, perguntas que tenham o maior número de palavras chaves iguais a consultas anteriores. O grau de similaridade é relativo e depende do domínio da aplicação e também da abordagem de desenvolvimento do sistema. O conceito de similaridade tem que ser modelado explicitamente em um sistema de RBC.

• Conhecimento sobre como adaptar casos recuperados de forma a satisfazer completamente os requisitos da situação atual.

Page 12: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

12

Os sistemas em RBC verificam os casos que ocorreram no passado e que estão registrados na base de casos e adapta as soluções para o problema atual. Com este enfoque, pode-se concluir que problemas que tenham descrições semelhantes possuem soluções similares. Com isto, temos um ponto de partida para a solução do problema.

O Ciclo de RBC, proposto por Aamodt e Plaza [Von Wangennheim e Von Wangenheim, 2003], chamado também de 4R, é o modelo mais aceito para este processo. Este modelo engloba um ciclo de raciocínio com quatro tarefas principais:

• Recuperar os casos similares da base de casos; • Reutilizar estes casos para solucionar o problema; • Revisar a solução encontrada; • Reter a experiência representando o caso atual para uma futura reutilização.

Figura 2.1: Ciclo co RBC [Aamodt, 1994]

A idéia deste modelo é pesquisar na base de casos, para encontrar casos que tenham a descrição semelhante à situação atual, usando uma ordem de preferência, que estabelece quais dos casos da base são mais similares ao atual, podendo reutilizar a solução. Esta similaridade é determinada por meio de uma medida de similaridade.

A medida de similaridade define como será calculada a similaridade entre a situação atual e um determinado caso na base de casos, sendo aplicado repetidamente entre a descrição do problema do caso atual e a descrição de cada caso na base de casos. Após isto, os casos são ordenados de acordo com o valor da similaridade e o(s) caso(s) mais similar(es) é(são) sugerido(s).

Uma métrica de similaridade adequada depende da capacidade do sistema em contextualizar os casos representados na base em relação ao seu domínio e também reconhecer o contexto dos problemas a serem comparados. O contexto é representado na base de casos através dos índices associados aos atributos que descrevem o caso. A indexação de um caso busca representar a importância dos atributos em indicar uma determinada solução em detrimento de outra, naquele contexto particular.

Base de

Casos

Solução confirmada

Caso(s) mais similar(es)

Solução adaptada

Retenção Recuperação / Indexação

Reuso Revisão

Caso armazenado

Novo Caso

Page 13: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

13

Existem muitas formas de extrair índices de um domínio para representá-los em uma base de caso, porém as mais utilizadas são definição manual dos índices, feita com o auxílio do especialista e a utilização de algoritmos de mineração de dados.

O foco deste trabalho é mostrar de que forma a mineração de dados pode ser utilizada para extração automática de índices de bases de dados para a indexação de bases de casos.

A seguir será detalhado as etapas no ciclo de um sistema RBC.

2.1 Representação de Casos

Em um sistema de RBC, o conhecimento é representado principalmente em forma de casos que descrevem experiências concretas. Um caso é uma peça de conhecimento contextualizado que registra um episódio em que um problema ou situação problemática foi total ou parcialmente resolvida [Von Wangennheim e Von Wangenheim, 2003]. O conteúdo de cada caso deve estar dentro do domínio da aplicação e do objetivo do raciocínio.

Duas medidas devem ser consideradas para determinar o que deve ser representado pelos casos: a funcionalidade da informação e a facilidade de aquisição da informação. O que é comum em todos os casos é que eles representam uma situação experimentada. Esta situação, quando relembrada mais tarde, forma um contexto no qual o conhecimento nela inserido é aplicável. Quando uma situação similar surge, as decisões e o conhecimento que fez parte delas provêm um ponto de partida para a interpretação da nova situação.

Um caso é composto dos seguintes componentes [Von Wangennheim e Von Wangenheim, 2003]:

• Descrição do problema: é a descrição da situação quando o caso ocorreu. Pode incluir, o objetivo do raciocinador, a respectiva tarefa que deveria ser apoiada ou qualquer característica do ambiente que teve alguma participação na solução ou no resultado final. No processo de recuperação será utilizada esta descrição para identificar o caso mais similar. Pode ser armazenado: objetivos a serem atingidos, restrições impostas, atributos da situação.

• Descrição da solução: descreve a solução aplicada para o problema. A solução pode ser uma ação, um plano ou uma informação ao usuário. Se necessário, a adaptação pode ocorrer e uma nova solução é criada.

O modelo conceitual do RBC pressupõe que existe um mapeamento direto, um-para-um, entre os espaços de problema e solução.

Componentes adicionais de um caso, como resultado da aplicação da solução, permitem que se registre o feedback do ambiente e sua análise. O resultado pode registrar o que ocorreu após a aplicação da solução, se o resultado foi um sucesso ou falhou e uma explicação do motivo.

2.2 Recuperação de Casos

O objetivo da recuperação é encontrar um caso ou pequeno conjunto de casos na base de casos que tenham uma solução útil para a situação atual. Para isto é preciso casar a descrição do problema atual com os problemas armazenados na base de casos,

Page 14: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

14

aplicando algoritmos de similaridade para identificar o caso mais útil. A recuperação de casos adequados é uma das fases mais importantes e também a de maior custo.

A recuperação de casos similares é iniciada com uma descrição do problema presente e termina quando um caso prévio, ou conjunto de casos prévios, que satisfaz a busca é encontrado. A recuperação de casos é dividida em três tarefas [Von Wangennheim e Von Wangenheim, 2003]:

• Assessoramento da situação: produz uma consulta por um conjunto de descritores da situação. Neste ponto o sistema interage com o usuário para adquirir um conjunto mínimo de dados, para poder gerar a primeira consulta.

• Casamento: retorna um conjunto de casos que sejam suficientemente semelhantes aos da consulta, dado um limiar de similaridade mínima. Neste ponto, é utilizado algoritmo de busca específico para organização dos casos selecionados.

• Seleção: neste ponto o sistema trabalha sobre o conjunto de casos recuperados e escolhe os melhores casos para apresentá-los ao usuário.

Estas tarefas podem ser executadas repetidas vezes, com a intervenção do usuário, no sentido de refinar a consulta a cada vez que é repetida.

É nesta etapa que é feita a indexação de casos e onde podem ser utilizadas técnicas para extração automática de índices, como, por exemplo, a mineração de dados. A indexação de casos será abordada em outro capítulo com mais detalhes.

2.2.1 Similaridade Uma das hipóteses básicas de RBC é que problemas similares possuem soluções

similares [Von Wangennheim e Von Wangenheim, 2003]. É de suma importância a escolha de um conceito de similaridade adequado para o domínio da aplicação e a estrutura dos casos usados. Um caso é mais útil à solução do problema, quanto menos for necessário modificá-lo para adaptá-lo ao problema proposto.

Para determinar a similaridade em um sistema de RBC, as seguintes premissas devem ser satisfeitas:

1. A similaridade entre a questão atual e o caso implica utilidade; 2. a similaridade é baseada em fatos a priori; 3. como casos podem ser mais ou menos úteis em relação a uma questão, a

similaridade precisa prover uma medida. A similaridade pode ser calculada através do algoritmo de vizinhança (Nearest

Neighbour). Esse método baseia-se na comparação entre um novo caso e aqueles armazenados na base de casos utilizando uma soma ponderada das suas características. Para isso é necessário atribuir pesos a cada uma das feições que descrevem o caso e que serão utilizadas na recuperação [Kolodner, 1993].

Page 15: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

15

Número de casos

Peso do atributo

Função de similaridade

Valor do atributo i para o caso

Valor do atributo i para o casoSoma dos

pesos para i

n

Σ wi X sim (ƒiι

ƒi R)

i=1 ____________________

n

Σ wi i=1

Figura 2-2: Algoritmo de Vizinhança

Sendo: - w corresponde ao peso de uma feição i qualquer que descreve o caso; - sim é função de similaridade; - ƒi

ι e ƒi R são os valores da feição i para o novo caso e o caso recuperado,

respectivamente; Este algoritmo é utilizado pela maioria dos sistemas de RBC para calcular a

similaridade. É eficiente quando a base de casos é pequena, é comum ser utilizados com outros métodos que reduzem o tempo de busca.

2.3 Reutilização de Casos

A reutilização de casos modificados também é conhecida como adaptação, ou seja, o caso recuperado pode não satisfazer completamente os requisitos da nova situação, tornando-se necessária a adaptação da solução descrita antes de aplicá-la. Geralmente será suficiente que se copie a solução do caso encontrado para o caso atual e se aplique esta solução, ou então que se adapte o caso manualmente.

Uma estratégia utilizada em sistemas de RBC é contornar o problema da adaptação, o que pode ser perfeitamente adequado nas tarefas de classificação, diagnóstico ou suporte à decisão. Por exemplo: pode-se popular a base de casos ao máximo para garantir que todo problema possua uma solução suficientemente similar, para não ser preciso adaptar. As aplicações deste tipo, normalmente, possuem uma interação com o usuário, em que o sistema sugere uma solução ou um conjunto de soluções potenciais e o usuário pode navegar entre as soluções, permitindo o usuário explorar as respostas e reutilizar a mais adequada, modificando manualmente se for necessário[Von Wangennheim e Von Wangenheim, 2003].

No entanto para tarefas sintéticas, envolvendo configurações, projeto e planejamento de soluções, é necessário que o sistema seja capaz de adaptar a solução encontrada.

A adaptação deve estar focada em dois aspectos: 1) identificação das diferenças entre o caso recuperado e o caso atual e 2) qual parte do caso recuperado pode ser transferida para o caso atual.

Page 16: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

16

2.4 Revisão de Casos

Quando uma falha ocorre na reutilização de um caso, surge a oportunidade para o aprendizado, esta fase é chamada de revisão de casos, que possibilita a correção de possíveis erros que ocorreram durante a operação. A revisão consiste de duas tarefas:

• Avaliar a solução gerada pela reutilização (adaptação): a avaliação da tarefa toma o resultado da aplicação no ambiente real, por meio de monitoração automática de resultados ou com o auxílio do usuário. Normalmente este passo é executado externamente ao sistema de RBC, que deve oferecer uma interface para registrar feedback sobre o resultado da solução sugerida.

• Reparar a solução para o caso, usando conhecimento de domínio específico: envolve a detecção da falha e a recuperação ou geração de explicações do porque os erros ocorreram. O sistema pode simular a aplicação da solução e chegar à conclusão de que a solução não gera os resultados esperados. É importante que nesta fase o sistema ou o Engenheiro do conhecimento, caso o reparo seja feito manualmente, pesquise por falhas similares em situações similares, podendo então focalizar o reparo e verificar se a solução ou reparo sugerido é adequado para a situação.

2.5 Retenção de Novos Casos

É o processo responsável por armazenar ao conhecimento já existente, a solução utilizada para resolver o problema, daquilo que é útil de uma nova solução. Atualizando continuamente a base de casos, permite que o sistema se torne um solucionador de problemas mais poderoso.

Tipos de retenção em sistemas de RBC: • Sem retenção de casos: Os sistemas de RBC mais simples desconsideram a

inclusão automática de novo conhecimento. Normalmente são domínios bem compreendidos e são modelados de forma satisfatória durante o desenvolvimento.

• Retenção de soluções de problemas: uma forma de aprendizado é aquela integrada ao processo de solução de novos problemas, onde, sempre que um novo problema é resolvido, este pode ser incorporado à base de casos. Esta forma de aprendizado é uma das maiores vantagens do RBC, pois o aprendizado e a aplicação do conhecimento aprendido são integrados. Pode-se também reter casos com soluções que falharam, para evitar que seja repetido o erro no futuro. A retenção pode ocorrer sem critérios, ou seja, todo caso solucionado com sucesso é armazenado, ou então utilizar técnicas inteligentes, que fazem uma filtragem e avaliação do conhecimento.

• Retenção de documentos: é adquirido de forma independente da operação do sistema, sempre que se encontrar disponível. A fase de retenção de casos é separada do processo de solução de problemas, estando a retenção dependente da disponibilidade de novos conhecimentos sobre o domínio da aplicação, que são adicionados quando disponível. Por exemplo, em um sistema de vendas de pacotes de viagem, quando as operadoras lançam novos pacotes ou as companhias aéreas mudam seus planos de vôo, a base de casos precisa ser atualizada.

Page 17: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

17

3 MINERAÇÃO DE DADOS

A mineração de dados consiste em obter informações através de uma base de dados existente, usando seus atributos para extrair informações que não são óbvias e que precisam ser trabalhadas para serem úteis na tomada de decisão. Para isto são aplicados algoritmos para identificar padrões no conjunto de dados analisado.

3.1 Tarefas de Mineração de Dados

Tarefa, no contexto da mineração de dados, é um tipo de problema de descoberta de conhecimento a ser solucionado. Podemos considerar as seguintes tarefas: classificação, agrupamento, estimativa, sumarização, associação e desvio, que podem ser resolvidas de forma individual ou combinadas. A escolha da tarefa mais adequada depende da natureza da aplicação que se pretende desenvolver.

3.1.1 Classificação A tarefa de classificação consiste em construir um modelo de algum tipo que possa

ser aplicado a dados não classificados visando categorizá-los em classes. Um objeto é examinado e classificado de acordo com uma classe definida, isto é, utiliza um conjunto de exemplos pré-classificados para desenvolver um modelo que pode classificar a base de dados utilizada.

São exemplos de tarefas de classificação: separar pedidos de créditos em baixo, médio e alto risco; esclarecer pedidos de seguros fraudulentos; identificar a forma de tratamento na qual um paciente está mais propício a responder, baseando-se em classes de pacientes que respondem bem a determinado tipo de tratamento médico.

3.1.2 Agrupamento O agrupamento é um processo de partição de uma população heterogênea em vários

subgrupos ou clusters mais homogêneos. No agrupamento, não há classes predefinidas, os registros são agrupados de acordo com a semelhança, o que a diferencia da tarefa de classificação.

Normalmente, a tarefa de agrupamento é realizada antes de alguma outra forma de mineração. Por exemplo, em uma aplicação de segmentação de mercado, podemos primeiro dividir os clientes em grupos que tenham comportamento de compra similar ou que pertençam a uma região do país.

Page 18: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

18

3.1.3 Estimativa A estimativa é usada para definir um valor para alguma variável contínua

desconhecida como, por exemplo, receita, altura ou saldo de cartão de crédito. Ela lida com resultados contínuos, enquanto que a classificação lida com resultados discretos. Pode ser usada para executar uma tarefa de classificação, convencionando-se que diferentes faixas (intervalos) de valores contínuos correspondem a diferentes classes. Estimativa é aprender uma função que mapeia um item de dado para uma variável de predição real estimada [Fayyad, 1996].

Como exemplos de tarefas de estimativa têm-se [Fayyad, 1996]: estimar o número de filhos em uma família, estimar a renda total de uma família, estimar o valor em tempo de vida de um cliente, estimar a probabilidade de que um paciente morrerá baseando-se nos resultados de um conjunto de diagnósticos médicos, prever a demanda de um consumidor para um novo produto.

3.1.4 Sumarização A tarefa de sumarização envolve métodos para encontrar uma descrição compacta

para um subconjunto de dados [Fayyad, 1996]. Um exemplo desta tarefa poderia ser tabular o significado e desvios padrão para

todos os itens de dados. Métodos mais sofisticados envolvem a derivação de regras de sumarização.

3.1.5 Associação O objetivo é identificar associações entre registros de dados que estão ou devem

estar relacionados, isto é, determinar quais itens tendem a serem adquiridos juntos em uma mesma transação.

O exemplo clássico é determinar quais produtos costumam ser colocados juntos em um carrinho de supermercado, daí o termo “análise da cesta de compras”. As cadeias de varejo usam associação para planejar a disposição dos produtos nas prateleiras das lojas ou em um catálogo, de modo que os itens geralmente adquiridos na mesma compra sejam vistos próximos entre si.

A tarefa de associação pode ser considerada uma tarefa bem definida, determinística e relativamente simples, que não envolve predição da mesma forma que a tarefa de classificação [Freitas, 1999].

3.1.6 Desvio A tarefa de desvio tem por objetivo descobrir um conjunto de valores que não

seguem padrões definidos, é necessário adotar padrões antecipadamente. Pode-se usar esta tarefa para identificar fraudes baseadas em elementos que estão

fora dos padrões ou são exceções às regras [Feldens, 1997].

3.2 Técnicas de Mineração de Dados

De acordo com as tarefas a serem executadas e as classes de problemas em questão, existem diferentes técnicas de mineração e algoritmos que possibilitam a busca por padrões escondidos nos dados. A familiaridade com as técnicas é necessária para facilitar a escolha de uma delas de acordo com os problemas apresentados.

Page 19: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

19

As técnicas utilizadas para mineração de dados normalmente são: regras associativas, árvores de decisão, regras de produção, redes neurais e descoberta de agrupamentos.

3.2.1 Regras Associativas A descoberta de regras associativas se inclui na categoria de tarefas descritivas. O

objetivo é a identificação de associações que freqüentemente ocorrem juntas nos dados. A técnica de descoberta de regras de associação estabelece uma correlação estatística entre certos itens de dados em um conjunto de dados.

Esta tarefa está diretamente relacionada ao chamado problema da cesta de compras, que analisa um conjunto de transações, procurando encontrar associações entre os itens que freqüentemente são comprados juntos.

A descoberta de associações em itens de cestas de compras deve não apenas evidenciar as associações triviais conhecidas, como por exemplo, leite e pão, mas sim aquelas que não são obvias e que podem se tornar importante fonte de informação na tomada de decisão.

A regra é composta de duas partes: a condição e o resultado, ou seja: X1, X2, ... Xn => Y , onde itens X1, X2, ..., Xn prevêem a ocorrência de Y, onde a

probabilidade de encontrar Y por esta regra é chamada de grau de certeza ou fator de confiança.

Figura 3-1: Esquema de Regras de Associação

Fator de suporte: é o número de vezes que determinado item ou conjunto de itens aparecem em transações distintas relacionadas com o número total de transações operadas, que é calculado da seguinte forma: ocorrência do item ou conjunto de itens dividido pelo número de transações operadas [Berry e Linoff, 1997]. Veja o exemplo na tabela 3.1.

Fator de confiança: é o grau para o qual a regra é verdadeira frente aos registros individuais. É calculado da seguinte forma: número de transações que suportam a regra dividido número de transações que suportam somente o corpo da regra [Berry e Linoff, 1997]. Veja o exemplo na tabela 3.2.

O método é mais eficiente se procurarmos por somente um produto na cabeça da regra e por outro no corpo da regra do que se procurarmos por mais produtos tanto na cabeça quanto no corpo da regra.

Quando um cliente compra um sapato, em 60% dos casos

ele comprará também uma meia. Isto ocorre em 25% dos casos.

Corpo da regra Fator de confiança

Cabeça da Regra

Fator de suporte

Page 20: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

20

Tabela 3-1: Dados Hipotéticos de Transações. Fonte [Noguez, 2000].

Transação (produto) Núm. de transações Martelo 50 Prego 80 Madeira 20 Martelo e prego 15 Prego e madeira 10 Martelo e madeira 10 Martelo, prego e madeira 5

Tabela 3-2: Associação Calculada a partir da Tabela. Fonte [Noguez, 2000].

Transação (produto) Associação Valor Suporte Martelo e prego 1,5 % Suporte Martelo, prego e madeira 0,5 % Confiança Martelo prego 30% Confiança Prego martelo 19% Confiança Martelo e prego madeira 33% Confiança Madeira martelo e prego 25%

Um baixo fator de suporte pode indicar que a associação não é muito importante e

também pode indicar a presença de dados ruins [Berry e Linoff, 1997]. Esta técnica contabiliza as ocorrências associadas às combinações possíveis entre

itens. Após identificar as transações, quantifica as ocorrências de um item, devido a presença de um ou de outros na transação.

Regras de associação trabalham em duas etapas [Berry e Linoff, 1997]: • O algoritmo determina todos os conjuntos de itens que possuem o suporte maior

ou igual ao informado pelo usuário. • Para cada item são testados todas as possíveis regras com o valor especificado

para fator de confiança. Normalmente procuramos apenas regras que tenham um fator de confiança maior

que um determinado limiar além de exigir que ele seja maior que a probabilidade de se encontrar itens ao acaso, isto é, gerar todas as regras associativas que têm fator de suporte mínimo e fator de confiança mínima especificados. Quanto maior for o fator de confiança, maior será o valor da associação.

3.2.2 Árvores de Decisão Árvores de decisão como as usadas neste trabalho são ferramentas poderosas e

populares para classificação e previsão. São representações do conhecimento que classificam exemplos em um número finito de classes. A maior vantagem é a forma como é expressa. Esta técnica é bastante usada em aplicações de avaliação e aprovação de empréstimos.

Page 21: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

21

Durante a fase de treinamento, é possível controlar vários aspectos do algoritmo. Por exemplo, pode-se especificar a quantidade máxima de níveis ou o percentual que cada folha deve conter do conjunto todo, podendo assim controlar o crescimento da árvore [Berry e Linoff, 1997].

Outro problema que pode ser encontrado, é a falta de mecanismo de backtracking, isto é, uma vez decidido o caminho em um nodo, novas evidências não são analisadas e a condição não é mais revista [Berry e Linoff, 1997].

Figura 3-2: Exemplo de Árvore de Decisão: Perfil de Compra [Westphal e Blaxton, 1998].

O algoritmo C4.5 [Quinlan, 1993] que particiona recursivamente um conjunto de treinamento, até que cada subconjunto deste particionamento contenha casos de uma única classe. Existem diversas medidas de diversidade envolvendo as densidades de distribuição dos dados em cada classe, geradas pelo teste naquele nó. A entropia ou ganho de informação tem prevalecido como fatos de escolha do atributo a ser testado num nó. Passos do algoritmo C4.5:

1. seleciona um atributo como sendo o nodo raiz; 2. cria galhos para todos os diferentes valores do atributo selecionado no item 1; 3. se todos os exemplos de treinamento sobre uma folha pertencerem a uma

mesma classe, esta folha recebe o nome da classe. Se todas as folhas possuem uma classe, o algoritmo termina;

4. senão, o nodo é determinado com um atributo que não ocorra no trajeto da raiz, e galhos são criados para todos os valores. O algoritmo retorna ao passo 3.

3.2.3 Descoberta de Agrupamentos A principal característica desta técnica é descobrir grupos utilizando a similaridade

dos valores de seus atributos como fator de decisão. Este processo utiliza técnicas de aprendizagem não supervisionadas, isto é, não necessita de um arquivo de treinamento.

Page 22: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

22

A importância nesta técnica é a descrição dos dados e não a previsão de como um caso será classificado.

As aplicações de descoberta de agrupamentos estão relacionadas com a especificação de um modelo de conhecimento subjacente aos dados, baseado em grupo de dados com características similares entre si (intragrupo) mas distintas entre os grupos (intergrupos) [Kolodner, 1993]. Os registros dentro do grupo são intimamente próximos, medidos pela distância do centro do segmento.

É necessária a participação do usuário no processo, que irá modificar os parâmetros até encontrar uma configuração satisfatória de classificação. Esta técnica pode ser utilizada como preparo para aplicação de outras técnicas.

3.3 Técnica versus Tarefa em Mineração de Dados

A tabela abaixo apresenta um resumo das diversas técnicas de mineração de dados, relacionando as possíveis tarefas e os algoritmos que podem ser utilizados.

Tabela 3-3: Comparação entre Técnicas e Tarefas de Mineração de Dados [Fayyad, 1996].

TÉCNICA DESCRIÇÃO TAREFAS Algoritmo Descoberta de Regras de Associação

Estabelece uma correlação estatística entre atributos de dados e conjuntos de dados

• Associação Apriori, AprioriTid, AprioriHybrid, AIS, SETM (Agrawal e Srikant, 1994) e DHP (Chen et al, 1996).

Árvores de Decisão

Hierarquização dos dados, baseada em estágios de decisão (nós) e na separação de classes e subconjuntos

• Classificação • Regressão

CART, CHAID, C5.0, Quest (Two Crows, 1999); ID-3 (Chen et al, 1996); SLIQ (Metha et al, 1996); SPRINT (Shafer et al, 1996).

Raciocínio Baseado em Casos ou MBR

Baseado no método do vizinho mais próximo, combina e compara atributos para estabelecer hierarquia de semelhança

Classificação • Segmentação

BIRCH (Zhang et al, 1996); CLARANS (Chen et al, 1996); CLIQUE (Agrawal et al, 1998).

Algoritmos Genéticos

Métodos gerais de busca e otimização, inspirados na Teoria da Evolução, onde a cada nova geração, soluções melhores têm mais chance de ter “descendentes”

• Classificação • Segmentação

Algoritmo Genético Simples (Goldberg, 1989); Genitor, CHC (Whitley, 1993); Algoritmo de Hillis (Hillis, 1997); GA-Nuggets (Freitas, 1999); GA-PVMINER (Araújo et al, 1999).

Redes Neurais Artificiais

Modelos inspirados na fsiologia do cérebro, onde o conhecimento é fruto do mapa das conexões neuronais e dos pesos dessas conexões

• Classificação • Segmentação

Perceptron, Rede MLP, Redes de Kohonen, Rede Hopfield, Rede BAM, Redes ART, Rede IAC, Rede LVQ, Rede Counterpropagation, Rede RBF, Rede PNN, Rede Time Delay, Neocognitron,

Page 23: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

23

Rede BSB (Azevedo, 2000)

Page 24: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

24

4 INDEXAÇÃO

Indexar casos quer dizer definir caminhos (atalhos) que nos levam de fatos a casos. Isto nos permite que quando estamos procurando pelo caso mais similar na base, não tenhamos que percorrer toda a base, mas possamos utilizar este "atalho".

A determinação de exemplos de casos adequados, que não precisam necessariamente ser idênticos à situação atual, é o principal objetivo da abordagem de RBC, ou seja, precisa ser identificado na base de casos, dentro do contexto da descrição do problema, o caso mais útil para poder chegar a uma solução mais adequada ao problema.

Para encontrar casos similares na base de casos, é necessário definir quais os atributos que serão usados para realizar a comparação entre o caso e a situação presente. Estes atributos serão chamados de índices. Estes índices serão utilizados para fazer a indexação na base de casos. Os casos podem ser indexados de duas formas: manual ou automática.

A indexação manual analisa caso a caso para determinar quais as características descritas que são determinantes. Embora indexação manual seja uma tarefa difícil, que consome muito tempo, pode representar uma boa escolha em algumas situações, especialmente quando os casos são complexos e o conhecimento precisa ser exato, ou os casos não estão completamente disponíveis, ou são muito elaborados para serem inseridos algoritmos.

A indexação automática busca quantificar as diferenças entre os casos da base de casos e o problema proposto. Consiste em construir algoritmos que possam identificar em que situação os casos podem ser usados.

Segundo Kolodner, um bom índice deve: • Prever a futura utilização da informação para solução de diferentes problemas; • Endereçar os propósitos para o qual os casos serão utilizados; • Ser abstratos o suficiente para permitir uma ampliação futura na base de dados; • Ser concretos o suficiente para serem reconhecidos no futuro. Para que a recuperação seja mais precisa e focalizada, são sugeridos alguns tipos de

indexação. A seguir serão apresentados alguns métodos de indexação propostos:

4.1 Índices Baseados em Conhecimento do Domínio

O método aplica o conhecimento do domínio existente para localizar casos relevantes. Esta abordagem é semelhante aos sistemas especialistas baseados em regras, nos quais um especialista determina as características usadas para classificar os casos. O conhecimento não precisa ser completo. Freqüentemente sistemas combinam um modelo parcial de domínio com outros métodos de indexação para recuperação de soluções mais precisas [Lorenzi, 1996].

Page 25: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

25

Segundo Kolodner, as etapas para determinar os índices baseados em conhecimento do domínio são:

1) Determinar no que o caso pode ser útil, designando seus pontos com o conjunto de tarefas que o especialista pediu para realizar.

2) Determinar sob que circunstâncias estes pontos seriam úteis para cada uma destas tarefas.

3) Traduzir as circunstâncias para o vocabulário do especialista. 4) Guardar as circunstâncias para torná-las reconhecíveis e genericamente tão

aplicáveis tanto quanto for possível. O objetivo da etapa 1 é determinar no que um caso pode ser útil, o que ele ensina.

Na etapa 2, o objetivo é determinar em que situação o caso pode ser utilizado, descrevendo a situação em que seria conveniente chamá-lo. Na etapa 3, a descrição da situação é traduzida para o vocabulário conhecido pelo sistema, a pessoa que escolheu os índices descreve o seu raciocínio no sistema de CBR e na etapa 4 estes índices são armazenados para que sejam utilizados em outras situações [Kolodner, 1993].

Indexar casos pelo conhecimento do domínio, em princípio pode ser fácil se o raciocinador já resolveu o problema anteriormente e tem o caminho e o raciocínio que levou a solução, mas freqüentemente aparecem casos para os quais não se conhece a solução.

4.2 Técnicas Baseadas em Explicação

Os casos são analisados individualmente para determinar os elementos do problema que são utilizados para construir a solução. Estas características serão utilizadas como índice. Neste método o domínio do conhecimento é utilizado para determinar quais as características do caso são mais relevantes e quais podem ser ignoradas. O sistema tenta explicar porque a solução funcionou ou não funcionou [Kolodner, 1993].

Este método escolhe como índice somente as características que são responsáveis pelas falhas, isto é, aquelas características que, se aparecerem em outros casos, será identificada a falha e corrigido o problema.

Kolodner define os seguintes passos para processo de seleção de índices baseados em explicação:

1) criar uma explicação; 2) selecionar características relevantes observadas na explicação; 3) generalizar estas características, assegurando-se que as generalizações

resultantes também sejam observadas. A explicação original deve ser mantida; 4) se o índice suporta um critério da solução, então:

• incluir informação adicional especificando a meta do caso alcançado; • generalizar a meta apropriadamente e repetir o processo.

Este método é computacionalmente complexo e requer um grande conhecimento do negócio, mas fornece índices mais exatos. Esta exatidão tem suas vantagens e desvantagens. Índices menos exatos tornam a recuperação mais rápida e fácil, no entanto recuperam muitos casos que não são úteis, e com índices mais exatos, a recuperação é mais difícil e demorada, mas recupera poucos casos e mais adequados [Kolodner, 1993].

Page 26: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

26

4.3 Índices Baseados em Checklist

Este método escolhe seus índices baseado em um checklist fornecido pelo especialista, ou seja, são passados para o sistema quais os tipos de características devem ser consideradas para indexar os casos. Cada caso é indexado pelas dimensões encontradas no checklist. Checklist é uma lista de características conhecidas e previsíveis. Embora o método de checklist não requeira que o computador siga uma linha de direção para escolher bons índices, ele conta com um especialista para analisar um domínio a fim de criar um bom checklist. Os itens do checklist devem ser facilmente reconhecíveis, mas devem descrever o caso em um nível abstrato o suficiente para fazê-lo genericamente aplicável.

Os passos abaixo sumarizam o processo para montar um checklist [Kolodner, 1993]: 1) Listar as tarefas as quais o caso recuperado suportará. 2) Para cada tarefa, determine o tipo de características que tendem a soluções

previstas. 3) Para cada tarefa, determine o tipo de características que tendem aos resultados

previstos. 4) Para cada tipo de característica, computar o conjunto de generalizações úteis da

característica e ter certeza que as características escolhidas são reconhecíveis (disponíveis durante o raciocínio).

5) Criar o checklist considerando o conjunto completo. O método de checklist é fácil de implementar e computacionalmente simples, mas

tende a recuperar muitos casos sem importância ou não recuperar casos importantes em situações novas para um problema em particular [Kolodner, 1993].

4.4 Análise Matemática

Todos os elementos do domínio e suas dimensões são analisados numericamente para determinar quais as características que determinam ou influenciam as conclusões. Os atributos e valores estatisticamente mais relacionados com as classes de solução são utilizados para construir índices. Utilizado em aplicações e bases de casos com poucos atributos e classes de solução que não exigem estratégias mais complexas para obter bons índices.

4.5 Árvores de Decisão

Árvores de Decisão são representações que classificam exemplos em um número finito de classes. A maior vantagem é a forma como é expressa.

Uma árvore de decisão tem uma estrutura onde cada nó interno é rotulado com um dos atributos preditivos; cada seta que sai do nó interno é rotulado com valores dos atributos de cada nó; e todo nó folha é rotulado com uma classe.

Segundo [Quinlan, 1986]: • Uma árvore de decisão representa uma série de perguntas (teste) dos atributos

de um objeto de domínio. • Um dado entra na árvore pelo nó raiz, tradicionalmente colocado no topo da

representação gráfica e a árvore se desenvolve para baixo, até chegar a um nó folha, representando a classe.

Page 27: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

27

• A partir do nó pai, é feito um teste para decidir qual o nó filho deve ser pesquisado a seguir.

• Existe apenas um caminho da raiz até a cada folha. Este caminho é uma expressão da regra usada para classificar os dados.

Com a árvore de decisão montada, podemos extrair os pesos a serem utilizados no cálculo da similaridade dos casos.

Analisando a árvore de decisão, podemos concluir que: os atributos que aparecem nos primeiros nodos da árvore tem significativa importância no cálculo da similaridade.

Após análise da árvore de decisão, pode ser feito o cálculo da entropia dos atributos selecionados, o que irá determinar o ranking de importância destes atributos. O cálculo da entropia é dado pela soma ponderada sobre todos os subconjuntos de Ti gerados para o teste [Quinlan, 1986]:

n infox(T) = Σ |Ti | x info(Ti) i=1 |T |

Onde: • info é o valor esperado da informação para um teste x; • T é o caso em estudo; • n é o número de atributos em cada caso; • i é um atributo individual de 1 até n. A quantidade: ganho(x) = info(T) – infox(T), mede a informação pela partição de T

de acordo com o teste x. O critério de ganho seleciona um teste que maximiza este ganho de informação, que é também conhecido com a informação entre o teste X e a classe.

4.6 Modelo Neural Combinatório

No modelo Neural Combinatório, casos podem ser representados em nodos intermediários de uma rede neural, sendo indexados por um mecanismo de aprendizagem de rede e recuperados por um mecanismo de consulta. Esta arquitetura foi desenvolvida para negociar com problemas de padrão, onde o caso anterior mais similar tem que ser recuperado para que a solução desenhada possa ser adaptada para o novo problema, ou modificada conforme os novos requerimentos [Reategui, 1997].

Três tipos de conhecimento são usados para selecionar os casos mais similares: conhecimento sobre o problema (características da entrada); conhecimento sobre casos antigos (características dos casos antigos e a solução adotada); meta conhecimento sobre critérios de seleção de novos casos. A rede também inclui regras de modificação que são usadas para alterar a importância de certos atributos conforme o valor presente em outros atributos [Reategui, 1997].

Para montar a rede neural, as características e valores dos casos são importantes para cada diagnóstico. O sistema usa uma rede neural de 3 camadas [Reategui, 1997]:

• Camada de entrada: contém nodos diferentes, cada um representando uma hipótese de solução;

• Camada combinatória: especifica diferentes combinações de evidencias que podem conduzir a uma hipótese de solução particular;

Page 28: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

28

• Camada de saída: contém nodos que representam sintomas, resultados de testes ou outras informações que confirmam a hipótese de solução.

4.7 Tabela Comparativa entre os Métodos

A tabela abaixo mostra uma comparação entre os métodos apresentados neste trabalho e os softwares de RBC existentes:

Tabela 4-1: Comparação entre métodos e softwares de RBC [Kolodner, 1993]

Método Descrição Software Vantagens/ Desvantagens

Índices baseados em conhecimento do domínio

Determina as características do domínio

- Fácil se o raciocinador já resolveu o problema anteriormente e tem o caminho e o raciocínio que levou a solução, mas freqüentemente aparecem casos que não se conhece a solução.

Índices baseados em explicação

Analisa individualmente os casos para determinar índices

Chef Julia Mediator Swale

- Complexo para implementar e requer grande conhecimento do negócio. - Índices mais exatos.

Índices baseados em checklist

Especialista monta um conjunto de características que são úteis para indexação

Clevier Mediator Hypo Casey Cyrus

- Fácil de implementar.

Análise Matemática Mediator Chef

Árvores de Decisão Classifica exemplos de uma base de dados em um número finito de classes

- Se a rede não estiver bem organizada, podemos seguir um caminho que nunca nos levará no caso que realmente queremos; - Informação não disponível torna muito difícil o percurso da árvore.

Modelo Neural Combinatório

Modelos computacionais não lineares, inspirados na estrutura e operação do cérebro humano, que procuram reproduzir características humanas.

Page 29: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

29

5 INTEGRANDO RBC COM MINERAÇÃO DE DADOS

Para exemplificar a integração entre RBC e Mineração de Dados, será apresentado um estudo de caso. A base de casos utilizada neste estudo foi capturada de uma pesquisa sobre métodos contraceptivos realizada na Indonésia em 1987. Para análise e determinação de quais atributos são mais importantes, foi utilizado o software de mineração de dados Weka [Waikato, 2000]. Após a análise dos dados, estes dados foram submetidos a um aplicativo de RBC, que recupera da base de dados os casos mais similares ao caso consultado.

5.1 Base de Dados

Os dados que estão na amostra são de mulheres casadas que não estavam grávidas quando foi realizada a entrevista. O aplicativo de RBC deve sugerir a escolha do método contraceptivo utilizado por uma mulher, levando em consideração as características demográficas e sócias econômicas.

Tabela 5-1: Atributos da Base de Dados - Métodos Contraceptivos

Nome do Atributo Descrição Tipo de Campo Valores possíveis Wife_age Idade da Mulher Numérico Wife_Edu Nível de educação da mulher Categórico 1 (low), 2, 3,

4 (high) Husband_Edu Nível de educação do marido Categórico 1 (low), 2, 3,

4 (high) Children Quantidade de filhos Numérico Wife_religion Religião da mulher Binário 0=Non-Islam

1=Islam Wife_work Mulher trabalha? Binário 0=Yes

1=No husband_occup Ocupação do marido Categórico 1, 2, 3, 4 classe_social Classe social Categórico 1 (low), 2, 3,

4 (high) Expose Exposição Binário 0=Yes

1=No Contraceptive Classe resultante 1=Não usa

2=Usa há muito tempo 3=Usa há pouco tempo

Page 30: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

30

5.2 Weka - Software de Mineração de Dados

Para efetuar a análise dos dados e definir os atributos mais importantes da base, foi utilizado o software Weka [Waikato, 2000]. Weka é um pacote implementado em Java, segundo o paradigma de orientação a objetos, e é composto de uma série de algoritmos de aprendizagem para solucionar problemas de mineração de dados. Os algoritmos podem ser aplicados diretamente a uma série de dados. Weka contém ferramentas para o pré-processamento dos dados.

Alguns métodos de classificação utilizados no software WEKA: Árvore de decisão; regras de associação; tabelas de decisão; regressão local de pesos; aprendizado baseado em instância; regressão lógica; perceptron; perceptron multicamada; comitê de perceptrons.

Os padrões adotados pelo software Weka requerem um arquivo de leitura

especificado com a extensão (.arff), que consiste basicamente de duas partes. A primeira parte contém uma lista de todos os atributos, onde devemos definir o tipo do atributo ou os valores que ele pode representar. A segunda parte consiste das instâncias, ou seja, os registros a serem minerados com o valor dos atributos.

@relation contraceptive @attribute wife_age numeric @attribute wife_edu {1, 2, 3, 4} @attribute husband_edu {1, 2, 3, 4} @attribute children numeric @attribute wife_religion {0, 1} @attribute wife_work {0, 1} @attribute husband_occup {1, 2, 3, 4} @attribute classe_social {1, 2, 3, 4} @attribute exposure {0, 1} @attribute contraceptive {1, 2, 3} @data 24,2,3,3,1,1,2,3,0,1 45,1,3,10,1,1,3,4,0,1 43,2,3,7,1,1,3,4,0,1 42,3,2,9,1,1,3,3,0,1 36,3,3,8,1,1,3,2,0,1 19,4,4,0,1,1,3,3,0,1 38,2,3,6,1,1,3,2,0,1 21,3,3,1,1,0,3,2,0,1 27,2,3,3,1,1,3,4,0,1 45,1,1,8,1,1,2,2,1,1

Figura 5-1: Exemplo do arquivo .arff

Page 31: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

31

Figura 5-2: Tela que Carrega o Arquivo de Dados (Weka)

A amostra utilizada possui 10 atributos e 1473 casos, que foram recuperados e disponibilizados para aplicação dos algoritmos de classificação existentes no software Weka.

Figura 5-3: Tela para Escolha do Classificador (WEKA)

Os dados recuperados foram submetidos ao classificador “Weka.classifiers.j48.J48,

o qual implementa o algoritmo C4.5, conforme descrito no capítulo 3. A árvore de decisão gerada foi a seguinte:

Page 32: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

32

Figura 5-4: Árvore de Decisão (WEKA)

Os atributos que aparecem nos primeiros nodos são os atributos de maior significância para a base de dados submetida à mineração, portando serão os atributos de maior peso para o cálculo da similaridade no aplicativo de RBC são eles: children, wife_age, wife_edu e expose.

Após a análise da árvore de decisão deve ser calculado a entropia dos atributos, conforme demonstrado no capítulo 4. Não foi possível verificar a entropia dos atributos através do software Weka, este recurso não estava disponível.

5.3 Cálculo da Entropia e Determinação do Peso dos Atributos

Para demonstrar o cálculo da entropia e determinação dos pesos dos atributos, será utilizada uma base de dados pequena, visando facilitar o entendimento por parte do leitor. A tarefa a ser resolvida neste exemplo será: adivinhar a cor do objeto que será retirado ao acaso do conjunto de objetos abaixo.

Atributo a ser previsto:

• Cor: vermelho ou azul.

Atributos previsores: • Forma: quadrada ou redonda. • Número de furos: dois ou três.

1) A entropia é calculada a partir das freqüências relativas das duas classes:

Page 33: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

33

C1: Vermelho freq (C1,T) = 4 C2: Azul freq (C2,T) = 4 | T | = 8

A expressão para o cálculo da entropia é:

k

info(S) = Σ freq(Cj,S) x log2 freq(Cj,S) j=1 |S| |S|

Com isso: Info (T) = -4/8 x log2 (4/8) –4/8 x log2 (4/8) = 1 bit

Tabela 5-2: Base de Casos para Exemplo do Cálculo da Entropia

Forma N.Furos Cor quadrada dois azul redonda três vermelho quadrada dois azul redonda três vermelho redonda três vermelho redonda dois azul quadrada três vermelho quadrada dois azul

Forma N.Furos Cor quadrada dois azul quadrada dois azul quadrada três vermelhoquadrada dois azul

2) Utilizando o atributo Forma, o valor esperado da informação é calculado pela soma ponderada da entropia relativa a cada um dos dois subconjuntos correspondentes aos valores de Forma (quadrada, redonda):

T1: quadrada freq (C1,T1) = 1, freq (C2,T1) = 3, |T1| = 4 T2: redonda freq (C1,T2) = 3, freq (C2,T2) = 1, |T2| = 4

Forma N.Furos Cor redonda três vermelho redonda três vermelho redonda três vermelho redonda dois azul

X1: Qual é o número de furos do objeto?

quadrada redondaT1 T2

Page 34: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

34

n

infox(T) = Σ | Ti | x info(Ti)

i=1

|T |

infox(T) = 4/8 x (-1/4 x log2 (1/4) – 3/4 log2 (3/4)) + 4/8 x (-3/4 x log2 (3/4) – 3/4 log2 (1/4)) = 0,8113 bits

Com isso:

Ganho(Forma) = info (T) – infox(T) = 1 – 0,8113 = 0,1888 bits

Tabela 5-3: Base de Casos para Exemplo do Cálculo da Entropia

Forma N.Furos Cor quadrada dois azul redonda três vermelho quadrada dois azul redonda três vermelho redonda três vermelho redonda dois azul quadrada três vermelho quadrada dois azul

Forma N.Furos Cor

quadrada dois azul quadrada dois azul redonda dois azul quadrada dois azul

3) Utilizando o atributo N.Furos, o valor esperado da informação é calculado pela

soma ponderada da entropia relativa a cada um dos dois subconjuntos correspondentes aos valores de N.Furos (dois, três):

T1: dois freq (C1,T1) = 0, freq (C2,T1) = 4, |T1| = 4 T2: três freq (C1,T2) = 4, freq (C2,T2) = 0, |T2| = 4

Forma N.Furos Cor redonda três vermelho redonda três vermelho redonda três vermelho quadrada três vermelho

X1: Qual é o número de furos do objeto?

dois trêsT1 T2

Page 35: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

35

infox(T) = 4/8 x (-0/4 x log2 (0/4) – 4/4 log2 (4/4)) + 4/8 x (-4/4 x log2 (4/4) – 0/4 log2 (0/4)) = 0 bits

Com isso:

Ganho(X) = info (T) – infox(T) = 1 – 0 = 1 bit

4) Deve-se particionar o conjunto T pelo atributo N.Furos, pois este gera o maior ganho de informação.

Regras derivadas da AD: • Se N.Furos = dois Então cor = azul • Se N.Furos = três Então cor = vermelho

5) Para determinar o peso deve-se aplicar a seguinte fórmula:

Peso = 2 (ganho)

Então:

Ganho(Forma) = 0,1888 Ganho(N.Furos) = 1

Peso do atributo Forma = 2 (0,1888) = 1,14 Peso do atributo N.Furos = 2 (1) = 2

5.4 Aplicativo de RBC

O arquivo com os casos da amostra é carregado no aplicativo de RBC. O arquivo utilizado é uma cópia dos casos da amostra com extensão .data.

As informações do novo caso são informadas na tela abaixo, bem como os pesos para os atributos mais importantes.

X1: Qual é o número de furos do objeto?

azul azul

dois três

Page 36: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

36

Figura 5-5: Tela do Aplicativo RBC

Ao clicar no botão “Verificar Similaridade”, é aplicado o algoritmo de vizinhança

(Nearest Neighbour) para calcular a similaridade entre o caso consultado e os casos armazenados, considerando os pesos informados para cada atributo.

n

Distância (x, C) = ( ∑ wf * sim( |xf, Cf|2 ) ½ f=1

Figura 5-6: Algoritmo de Vizinhança

Onde: n: quantidade de casos na base; x: valor do atributo do caso da base de teste; C: valor do atributo do caso problema; wf: peso dado ao atributo; sim( |x, C|2 ): função de similaridade = |x – C|2. A escolha dessa função de similaridade foi devido ao fato de que as características

dos casos são todas numéricas. Os casos mais similares são aqueles que possuem a menor Distância (x, C).

Page 37: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

37

Pode ser determinado um fator de tolerância para a recuperação dos casos, isto é, se for informado este fator, o aplicativo recupera os casos mais similares além dos casos com menor distância.

Como resultado é mostrado o(s) caso(s) mais similar(es) encontrado(s), o menor e o maior fator de similaridade, a classe resultante e número de casos encontrados, conforme mostrado na figura 5-5.

Neste aplicativo, se não for encontrado casos que satisfaçam as condições consultadas, não é apresentada a classe resultante, também não é possível armazenar os novos casos, mas em sistemas de RBC esta é uma prática bastante comum e altamente recomendável, porque o sistema pode aprender com os novos casos.

Neste aplicativo, as duas metodologias não estão integradas, isto é, os pesos resultantes da análise da árvore de decisão na mineração de dados, devem ser informados pelo usuário para calcular a similaridade, podendo o usuário informar novos pesos e fazer simulações para achar o caso que melhor se adapte ao caso atual sendo analisado.

O ideal em um sistema de RBC, que irá utilizar mineração de dados, é integrar os dois sistemas. Através da análise da árvore de decisão e o cálculo da entropia e determinação do peso dos atributos, enviando automaticamente esta informação ao sistema de RBC.

Page 38: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

38

CONCLUSÃO

Pessoas são excelentes solucionadores de problemas, com uma capacidade de

solução de problemas que não pode ser superada pelas maquinas no atual estado da arte. À medida que a experiência aumenta, são capazes de resolver de forma rotineira e com qualidade, problemas mal definidos e com conhecimento incompleto. Os sistemas de RBC vêm para disseminar este conhecimento, reutilizando de forma automática a experiência de pessoas e organizações, registradas nos repositórios de conhecimento.

O primeiro sistema de RBC chamou-se CYRUS e foi desenvolvido por Janet Kolodner na Yale University em 1983. Passaram-se vinte anos e hoje RBC já pode ser considerada uma metodologia madura e as aplicações comerciais nesta área têm aumentado muito rapidamente.

A construção de sistemas de RBC passa pelas fases de coleta dos casos, proposta de uma forma de representação dos casos no sistema, e definição das estratégias de comparação e recuperação do melhor caso, que tenha solução compatível com os problemas apresentados. Definir a representação adequada para modelar casos na base de casos é uma tarefa da engenharia de conhecimento e envolve a identificação dos atributos mais significativos para discriminar a solução do problema. Esses atributos definem os índices da base de casos e influenciam na estratégia de recuperação do algoritmo de similaridade. A utilização de técnicas de mineração de dados permitem identificar quais atributos do problema mais influenciam no tipo de solução associada ao caso. Evidenciam ainda conhecimento da base de casos, como por exemplo, freqüência da presença de determinados valores associados a atributos e sua distribuição, índices de significância e gravidade dos atributos em relação a solução, entre outros. Essas informações, extraídas de forma automática, determinam as funções de similaridade de um sistema baseados em casos.

Este trabalho apresentou um estudo de caso da utilização de algoritmos de mineração de dados para extrair índices de uma base de casos, para subsidiar a construção de um sistema de RBC. A transformação das informações em índices foi realizada de forma manual nesse protótipo, cujo objetivo foi identificar as informações passíveis de serem extraídas e as transformações pelas quais a informação passa para tornar-se um índice efetivo de uma base de casos. A completa compreensão deste processo permitirá a construção e atualização automática de bases de casos em sistemas de RBC em domínios dinâmicos.

O sistema WEKA foi utilizado como ferramenta de mineração para extrair os padrões da base de dados, através de árvores de decisão. As árvores evidenciaram os atributos e valores mais discriminantes da base e esses foram utilizados como índices principais do sistema RBC. Após esta análise, foi calculada a entropia dos atributos

Page 39: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

39

mais discriminantes para determinação dos pesos a serem aplicados no cálculo da similaridade.

A mineração de dados mostra-se útil para a extração de índices em bases de dados, porque agrupa os dados e disponibiliza uma visualização completa destes grupos, tornando possível a análise e conseqüentemente a determinação dos atributos que são mais discriminantes.

Como trabalhos futuros, sugere-se a integração total entre RBC e mineração de dados, com a geração dos índices pela mineração e a passagem automática destas informações para o sistema de RBC.

Page 40: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

40

REFERÊNCIAS

Berry, M.J. e Linoff, G. Data Mining Techniques: for Marketing, Sales and Customer Suport. New York, NY: John Wiley & Sons, 1997. 444p.

Fayyad, U.M. Advances in Knowledge Discovery and Data Mining. Menlo Park, CA: AAAI Press/MIT Press, 1996. 611p.

Feldens, M.A. Engenharia da Descoberta de Conhecimento em Base de Dados: Estudo e Aplicação na Área da Saúde. Porto Alegre, 1997.

Freitas, A.A. Understanding the crucial differences between classification and discovery of association rules. Springer-Verlag, 1999.

Kolodner, J.L. Case-Based Reasoning. San Francisco, CA: Morgan Kaufmann Publishers, 1993.

Lorenzi, F. Raciocínio Baseado em Casos e Armazém de Dados. Porto Alegre, 1996.

Noguez, J.H.S. Técnicas de Mineração de Dados no Processo de Descoberta de Conhecimento em Banco de Dados. Porto Alegre, 2000

Quinlan, J.R. Induction of Decision Trees. Machine Learnings v. 1, n. 1, p.81-106, 1986.

Quinlan, J.R. C4.5: Programs for Machine Learning. San Mateo, CA: Morgan Kaufmann Publishers, 1993. 302p.

Reategui, E.B. Combining Case-Based Reasoning with Neural Network in Diagnostic Systems. Londres: Department of Computer Science, 1997. 185 p. Ph.D. Thesis.

Richter, M.M. On the Notion of Similarity in Case-Based Reasoning. In: Mathematical and Statistical Methods in Artificial Intelligence, 1995, Udina, Italy Springer Verlag v. 363, p. 171-84.

Page 41: Mineração de Dados Aplicada à Definição de Índices ... · ... tais como: Árvores de Decisão, Redes Neurais ... Este trabalho apresenta um exemplo prático ... todas tipicamente

41

Riesbeck, C.K. e Schank, R.C. Inside Case-Based Reasoning. Hillsdale,NJ: Erlbaum, 1989.

VanLehn, K. Problem solving and cognitive skill acquisition. In: Posner, M. I. Foundations of Cognitive Science. Cambridge, MA.: Bradford Books, MIT Press, 1989. p.527-80.

Von Wangennheim, C.G. e Von Wangenheim, A. Raciocínio Baseado em Casos. Barueri, SP: Manole, 2003. 293p.

Waikato, U.d. Weka Knowledge Explorer (Waikato Environment for Knowledge Analys). Nova Zelândia, 2000.

Westphal, C. e Blaxton, T. Data Mining Solutions: Methods and Tools for Solving Real-World Problems. New York: John Wiley & Sons, 1998. 640p.