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

Tamanho: px
Começar a partir da página:

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

Transcrição

1 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.

2 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, fl.: 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, Orientador: Abel, Mara. 1. Raciocínio Baseado em Casos. 2. Mineração de Dados.

3 SUMÁRIO LISTA DE FIGURAS... 5 LISTA DE TABELAS... 6 LISTA DE TABELAS... 6 RESUMO INTRODUÇÃO RACIOCÍNIO BASEADO EM CASOS Representação de Casos Recuperação de Casos Similaridade Reutilização de Casos Revisão de Casos Retenção de Novos Casos MINERAÇÃO DE DADOS Tarefas de Mineração de Dados Classificação Agrupamento Estimativa Sumarização Associação Desvio Técnicas de Mineração de Dados Regras Associativas Árvores de Decisão Descoberta de Agrupamentos Técnica versus Tarefa em Mineração de Dados INDEXAÇÃO Índices Baseados em Conhecimento do Domínio... 24

4 4.2 Técnicas Baseadas em Explicação Índices Baseados em Checklist Análise Matemática Árvores de Decisão Modelo Neural Combinatório Tabela Comparativa entre os Métodos INTEGRANDO RBC COM MINERAÇÃO DE DADOS Base de Dados Weka - Software de Mineração de Dados Cálculo da Entropia e Determinação do Peso dos Atributos Aplicativo de RBC CONCLUSÃO REFERÊNCIAS... 40

5 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

6 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

7 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

8 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 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

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. 9

10 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

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. 11

12 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. Retenção Caso armazenado Novo Caso Recuperação / Indexação Solução confirmada Base de Casos Caso(s) mais similar(es) Revisão Solução adaptada Reuso 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.

13 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-paraum, 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,

14 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 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].

15 15 Número de casos Soma dos pesos para i Peso do atributo Função de similaridade n Σ w i X sim (ƒ i ι ƒ i R ) i=1 n Σ w i i=1 Valor do atributo i para o caso Valor do atributo i para o caso 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 ƒ R i 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.

16 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.

17 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 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 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.

18 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 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 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] 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.

19 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 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. Corpo da regra Fator de confiança Cabeça da Regra Quando um cliente compra um sapato, em 60% dos casos ele comprará também uma meia. Isto ocorre em 25% dos casos. Fator de suporte 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.

20 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 Á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.

21 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 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.

22 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 Associação Árvores de Decisão Raciocínio Baseado em Casos ou MBR Estabelece uma correlação estatística entre atributos de dados e conjuntos de dados Hierarquização dos dados, baseada em estágios de decisão (nós) e na separação de classes e subconjuntos Baseado no método do vizinho mais próximo, combina e compara atributos para estabelecer hierarquia de semelhança Classificação Regressão Classificação Segmentação Apriori, AprioriTid, AprioriHybrid, AIS, SETM (Agrawal e Srikant, 1994) e DHP (Chen et al, 1996). CART, CHAID, C5.0, Quest (Two Crows, 1999); ID-3 (Chen et al, 1996); SLIQ (Metha et al, 1996); SPRINT (Shafer et al, 1996). BIRCH (Zhang et al, 1996); CLARANS (Chen et al, 1996); CLIQUE (Agrawal et al, 1998). Algoritmos Genéticos Redes Neurais Artificiais 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 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 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). 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,

23 Rede BSB (Azevedo, 2000) 23

24 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].

25 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].

26 Í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.

27 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 T i gerados para o teste [Quinlan, 1986]: n info x (T) = Σ T i x info(t i ) 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) info x (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;

28 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 Determina as características do domínio Índices baseados em conhecimento do domínio Índices baseados em explicação Índices baseados em checklist Análise Matemática Árvores de Decisão Modelo Neural Combinatório Analisa individualmente os casos para determinar índices Especialista monta um conjunto de características que são úteis para indexação Classifica exemplos de uma base de dados em um número finito de classes Modelos computacionais não lineares, inspirados na estrutura e operação do cérebro humano, que procuram reproduzir características humanas. Chef Julia Mediator Swale Clevier Mediator Hypo Casey Cyrus Mediator Chef - 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. - Complexo para implementar e requer grande conhecimento do negócio. - Índices mais exatos. - Fácil de implementar. - 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.

29 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 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

30 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 wife_age wife_edu {1, 2, 3, husband_edu {1, 2, 3, children wife_religion {0, wife_work {0, husband_occup {1, 2, 3, classe_social {1, 2, 3, exposure {0, contraceptive {1, 2, 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

31 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:

32 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:

33 33 C 1: Vermelho freq (C 1,T) = 4 C 2: Azul freq (C 2,T) = 4 T = 8 A expressão para o cálculo da entropia é: Com isso: k info(s) = Σ freq(cj,s) x log2 freq(cj,s) j=1 S S Info (T) = -4/8 x log 2 (4/8) 4/8 x log 2 (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 X 1 : Qual é o número de furos do objeto? quadrada T 1 T 2 redonda Forma N.Furos Cor quadrada dois azul quadrada dois azul quadrada três vermelho quadrada dois azul Forma N.Furos Cor redonda três vermelho redonda três vermelho redonda três vermelho redonda 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): T 1 : quadrada freq (C 1,T 1 ) = 1, freq (C 2,T 1 ) = 3, T 1 = 4 T 2 : redonda freq (C 1,T 2 ) = 3, freq (C 2,T 2 ) = 1, T 2 = 4

34 34 infox(t) = Σ n Ti x info(ti) i=1 T Com isso: info x (T) = 4/8 x (-1/4 x log 2 (1/4) 3/4 log 2 (3/4)) + 4/8 x (-3/4 x log 2 (3/4) 3/4 log 2 (1/4)) = 0,8113 bits Ganho(Forma) = info (T) info x (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 X 1 : Qual é o número de furos do objeto? dois T 1 T 2 três Forma N.Furos Cor quadrada dois azul quadrada dois azul redonda dois azul quadrada dois azul Forma N.Furos Cor redonda três vermelho redonda três vermelho redonda três vermelho quadrada três vermelho 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): T 1 : dois freq (C 1,T 1 ) = 0, freq (C 2,T 1 ) = 4, T 1 = 4 T 2 : três freq (C 1,T 2 ) = 4, freq (C 2,T 2 ) = 0, T 2 = 4

35 35 Com isso: info x (T) = 4/8 x (-0/4 x log 2 (0/4) 4/4 log 2 (4/4)) + 4/8 x (-4/4 x log 2 (4/4) 0/4 log 2 (0/4)) = 0 bits Ganho(X) = info (T) info x (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. X 1 : Qual é o número de furos do objeto? dois três azul azul 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: Então: Peso = 2 (ganho) Ganho(Forma) = 0,1888 Ganho(N.Furos) = 1 Peso do atributo Forma = 2 (0,1888) = 1,14 Peso do atributo N.Furos = 2 (1) = 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.

36 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).

Sumário Ciclo RBC. Ciclo RBC Recuperação. Objetivo. Recuperação Reutilização Revisão Retenção

Sumário Ciclo RBC. Ciclo RBC Recuperação. Objetivo. Recuperação Reutilização Revisão Retenção Universidade de São Paulo Instituto de Ciências Matemáticas e Computação Sumário Ciclo RBC Recuperação Reutilização Revisão Retenção Programa de Aperfeiçoamento de Ensino Estagiária: Valéria de Carvalho

Leia mais

Inteligência Artificial

Inteligência Artificial UFRGS 2 Inteligência Artificial Técnicas de Mineração de Dados Árvores de Decisão Regras de Associação Árvores de Decisão As árvores de decisão (AD) são ferramentas poderosas para classificação cuja maior

Leia mais

Raciocínio Baseado em Casos

Raciocínio Baseado em Casos Raciocínio Baseado em Casos Augusto Cesar Castoldi, Marcos de Oliveira dos Santos. Bacharéis em Ciências da Computação 2º Semestre, 2002. Departamento de Informática e Estatística (INE) Universidade Federal

Leia mais

Raciocínio Baseado em Casos. Baseado no material do prof. Luis Otavio Alvares

Raciocínio Baseado em Casos. Baseado no material do prof. Luis Otavio Alvares INE5430 Inteligência Artificial Tópico: Raciocínio Baseado em Casos Baseado no material do prof. Luis Otavio Alvares (C) - Prof. Mauro Roisenberg 18/09/2010 1 Raciocínio Baseado em Casos CBR (Case-Based

Leia mais

Tópicos Especiais em Informática Fatec Indaiatuba 13/07/2017

Tópicos Especiais em Informática Fatec Indaiatuba 13/07/2017 Inteligência de Negócios Fatec Indaiatuba Prof. Piva Compreender as definições e conceitos básicos da Mineração de Dados (MD) Entender o processo KDD (Knowledge Discovery Data) e MD Descrever as etapas

Leia mais

Aprendizagem de Máquina. Prof. Júlio Cesar Nievola PPGIA - PUCPR

Aprendizagem de Máquina. Prof. Júlio Cesar Nievola PPGIA - PUCPR Aprendizagem de Máquina Prof. Júlio Cesar Nievola PPGIA - PUCPR Introdução Justificativa Recente progresso em algoritmos e teoria Disponibilidade crescente de dados online Poder computacional disponível

Leia mais

2 Mineração de Dados Processo de Busca de Conhecimento (KDD) 2 Mineração de Dados

2 Mineração de Dados Processo de Busca de Conhecimento (KDD) 2 Mineração de Dados 2 Mineração de Dados 2 Mineração de Dados A mineração de dados, ou data mining, é uma das principais etapas do processo de busca de conhecimento. Este conceito é utilizado para identificar técnicas avançadas

Leia mais

10 FORMAS ESTATÍSTICA MODELAGEM PARA USAR

10 FORMAS ESTATÍSTICA MODELAGEM PARA USAR 10 FORMAS PARA USAR MODELAGEM ESTATÍSTICA Introdução Conheça um pouco mais sobre algumas modelagens estatísticas e como você pode implantar dentro da sua organização A análise preditiva é capaz de descobrir

Leia mais

Aprendizagem de Máquina. KDD Estatística. Visualização. Figura 2.1: A Mineração de Dados como um Campo Multidisciplinar

Aprendizagem de Máquina. KDD Estatística. Visualização. Figura 2.1: A Mineração de Dados como um Campo Multidisciplinar 2.2 MINERAÇÃO DE DADOS A mineração de dados pode ser considerada como uma parte do processo de Descoberta de Conhecimento em Banco de Dados (KDD Knowledge Discovery in Databases). Segundo Goebel e Gruenwald

Leia mais

Roteiro. PCC142 / BCC444 - Mineração de Dados. Cenário

Roteiro. PCC142 / BCC444 - Mineração de Dados. Cenário Roteiro PCC142 / BCC444 - Mineração de Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Introdução Tarefas

Leia mais

Aprendizado de Máquina (Machine Learning)

Aprendizado de Máquina (Machine Learning) Ciência da Computação (Machine Learning) Aula 01 Motivação, áreas de aplicação e fundamentos Max Pereira Nem todo conhecimento tem o mesmo valor. O que torna determinado conhecimento mais importante que

Leia mais

Aprendizagem de Máquinas

Aprendizagem de Máquinas Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Aprendizagem de Máquinas DCA0121 Inteligência Artificial Aplicada Heitor Medeiros 1 Aprendizagem de Máquinas

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCENS UFES Departamento de Computação Aprendizado de Máquina Inteligência Artificial Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Descoberta de Conhecimento em Bases de Dados Mineração de Dados Descobertas de regras de associação Descoberta de Conhecimento em Bases de Dados DCBD (Descoberta de Conhecimento

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Aprendizado de Máquina A necessidade de inserir aprendizado nas máquinas surgiu após a construção dos Sistemas Especialistas (SEs). Os primeiros SEs não possuíam mecanismo de aprendizado e tornavam-se

Leia mais

Aprendizagem de Máquina

Aprendizagem de Máquina Aprendizagem de Máquina écnicas de Classificação Árvores de Decisão Prof. Paulo Martins Engel UFRGS Árvores de Decisão As árvores de decisão (AD) são ferramentas poderosas para classificação cuja maior

Leia mais

Sumário Raciocínio Baseado em Casos

Sumário Raciocínio Baseado em Casos Universidade de São Paulo Instituto de Ciências Matemáticas e Computação Sumário Raciocínio Baseado em Casos Introdução Representação de Casos Similaridade Ciclo RBC Programa de Aperfeiçoamento de Ensino

Leia mais

Fundamentos de Inteligência Artificial [5COP099]

Fundamentos de Inteligência Artificial [5COP099] Fundamentos de Inteligência Artificial [5COP099] Dr. Sylvio Barbon Junior Departamento de Computação - UEL 1 o Semestre Assunto Aula 10 Modelos Preditivos - Árvore de Decisão 2 de 20 Aula 10 - Árvore de

Leia mais

Inteligência Artificial. Conceitos Gerais

Inteligência Artificial. Conceitos Gerais Inteligência Artificial Conceitos Gerais Inteligência Artificial - IA IA é um campo de estudo multidisciplinar e interdisciplinar, que se apóia no conhecimento e evolução de outras áreas do conhecimento.

Leia mais

3 Aprendizado por reforço

3 Aprendizado por reforço 3 Aprendizado por reforço Aprendizado por reforço é um ramo estudado em estatística, psicologia, neurociência e ciência da computação. Atraiu o interesse de pesquisadores ligados a aprendizado de máquina

Leia mais

Seleção de Atributos 1

Seleção de Atributos 1 Seleção de Atributos 1 Tópicos Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Seleção de atributos antes do aprendizado Benefícios Abordagens automáticas

Leia mais

2. Redes Neurais Artificiais

2. Redes Neurais Artificiais Computação Bioinspirada - 5955010-1 2. Redes Neurais Artificiais Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 2.1. Introdução às Redes Neurais Artificiais (RNAs) 2.1.1. Motivação

Leia mais

Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos

Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos Introdução a Machine Learning: Teoria, Aplicações e IA na Arquitetura Intel Vitor Hugo Ferreira, DSc - UFF Flávio Mello, DSc UFRJ e Ai2Biz

Leia mais

Redes Neurais. Motivação. Componentes do neurônio. Cérebro humano. Criar máquinas capazes de operar independentemente do homem:

Redes Neurais. Motivação. Componentes do neurônio. Cérebro humano. Criar máquinas capazes de operar independentemente do homem: Motivação M. Sc. Luiz Alberto lasf.bel@gmail.com Redes Neurais Criar máquinas capazes de operar independentemente do homem: Aprenda sozinha; Interagir com ambientes desconhecidos; Possa ser chamada de

Leia mais

Técnicas de recuperação de informação: filtragem, agrupamento

Técnicas de recuperação de informação: filtragem, agrupamento Técnicas de recuperação de informação: filtragem, agrupamento 1 Nome usado para descrever uma variedade de processos envolvendo a entrega de informação para pessoas que precisam dela; Compreende um método

Leia mais

Introdução ao Data Mining (Mineração de Dados)

Introdução ao Data Mining (Mineração de Dados) Introdução ao Data Mining (Mineração de Dados) Quem é da área de TI, provavelmente já ouviu sobre Data Mining, mesmo que não saiba o que é. É uma das últimas modas relacionados à BD. Para se ter uma noção

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Aprendizado de Máquina Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Introdução 1 Introdução Aprendizado de Máquina Extração de conhecimento. Automatização de tarefas. Tomada de Decisões.

Leia mais

REUSO E REUSABILIDADE

REUSO E REUSABILIDADE REUSO E REUSABILIDADE Manutenção de Software Profa. Cynthia Pinheiro Antes de mais nada... 2ª Lista de Exercícios Já está disponível no site a 2ª Lista de Exercícios Entrega: dia 03/10, no horário da aula.

Leia mais

onio Baseado em Casos

onio Baseado em Casos Universidade Regional de Blumenau Centro de Ciências Exatas e Naturais Departamento de Sistemas e Computação Julho de 2002 TCC 2002/1-48 Módulo de Raciocíonio onio Baseado em Casos em uma Ferramenta de

Leia mais

Mineração de Dados e Aprendizado de Máquinas. Rodrigo Leite Durães.

Mineração de Dados e Aprendizado de Máquinas. Rodrigo Leite Durães. Mineração de Dados e Aprendizado de Máquinas. Rodrigo Leite Durães. O que é mineração de dados Mineração de Dados é um passo no processo de KDD que consiste na aplicação de análise de dados e algoritmos

Leia mais

Simulado para CFPS. Questões de Propósito, Tipo e Fronteira. 1. Um dos objetivos da Análise de Pontos de Função é:

Simulado para CFPS. Questões de Propósito, Tipo e Fronteira. 1. Um dos objetivos da Análise de Pontos de Função é: Questões de Propósito, Tipo e Fronteira 1. Um dos objetivos da Análise de Pontos de Função é: Simulado para CFPS a) Ajudar no processo de depuração de um software. b) Estimar o tamanho de uma equipe de

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Introdução à Mineração de Dados com Aplicações em Ciências Espaciais

Introdução à Mineração de Dados com Aplicações em Ciências Espaciais Introdução à Mineração de Dados com Aplicações em Ciências Espaciais Escola de Verão do Laboratório Associado de Computação e Matemática Aplicada Rafael Santos Dia 2: 1 /59 Programa Dia 1: Apresentação

Leia mais

Mineração de Dados em Biologia Molecular

Mineração de Dados em Biologia Molecular Mineração de Dados em Biologia Molecular Análise de associação Principais tópicos Análise de associação Itens frequentes Conjunto de itens frequentes de associação Avaliação de regras de associação Docente:

Leia mais

serotonina (humor) dopamina (Parkinson) serotonina (humor) dopamina (Parkinson) Prozac inibe a recaptação da serotonina

serotonina (humor) dopamina (Parkinson) serotonina (humor) dopamina (Parkinson) Prozac inibe a recaptação da serotonina Redes Neurais O modelo biológico O cérebro humano possui cerca 100 bilhões de neurônios O neurônio é composto por um corpo celular chamado soma, ramificações chamadas dendritos (que recebem as entradas)

Leia mais

Raciocínio Baseado em Casos (Case Based Reasoning CBR)

Raciocínio Baseado em Casos (Case Based Reasoning CBR) Inteligência Artificial Escola de Verão 2007 Laboratório Associado de Computação e Matemática Aplicada LAC Raciocínio Baseado em Casos (Case Based Reasoning CBR) www.lac.inpe.br/~demisio/ia_lac.html Paradigma

Leia mais

5 Processo de Reificação e de Desenvolvimento com ACCA

5 Processo de Reificação e de Desenvolvimento com ACCA Uma Arquitetura para a Coordenação e a Composição de Artefatos de Software 53 5 Processo de Reificação e de Desenvolvimento com ACCA Resumo Este capítulo visa esclarecer e descrever atividades existentes

Leia mais

Saída: Representação de conhecimento

Saída: Representação de conhecimento Saída: Representação de conhecimento Kate Revoredo katerevoredo@uniriotec.br 1 Saída: Representando padrões estruturais Existem muitas maneiras diferentes de representar padrões: Árvores de decisão, regras,

Leia mais

Evandro Deliberal Aula 01

Evandro Deliberal     Aula 01 Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal http://www.deljoe.com.br/professor Aula 01 Agenda DATA MINING. Data mining Motivações Grande disponibilidade de dados

Leia mais

Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Abordagens automáticas

Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Abordagens automáticas Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Abordagens automáticas Wrapper Filtros Muitos algoritmos de AM são projetados de modo a selecionar os

Leia mais

Inteligência Artificial. Raimundo Osvaldo Vieira [DComp IFMA Campus Monte Castelo]

Inteligência Artificial. Raimundo Osvaldo Vieira [DComp IFMA Campus Monte Castelo] Inteligência Artificial Raimundo Osvaldo Vieira [DComp IFMA Campus Monte Castelo] Aprendizagem de Máquina Área da Inteligência Artificial cujo objetivo é o desenvolvimento de técnicas computacionais sobre

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Aprendizado de Máquina Introdução ao WEKA Luiz Eduardo S. Oliveira Universidade Federal do Paraná Departamento de Informática http://web.inf.ufpr.br/luizoliveira Luiz S. Oliveira (UFPR) Aprendizado de

Leia mais

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados Aula 1 Introdução a Banco de Dados 1. Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído

Leia mais

7 Congresso de Pós-Graduação MODELAGEM DE BASE DE CONHECIMENTO PARA TAREFA DE CLASSIFICAÇÃO EM MINERAÇÃO DE DADOS

7 Congresso de Pós-Graduação MODELAGEM DE BASE DE CONHECIMENTO PARA TAREFA DE CLASSIFICAÇÃO EM MINERAÇÃO DE DADOS 7 Congresso de Pós-Graduação MODELAGEM DE BASE DE CONHECIMENTO PARA TAREFA DE CLASSIFICAÇÃO EM MINERAÇÃO DE DADOS Autor(es) LIDIA MARTINS DA SILVA Orientador(es) ANA ESTELA ANTUNES DA SILVA 1. Introdução

Leia mais

5 Usando as Representações de Design Rationale

5 Usando as Representações de Design Rationale 5 Usando as Representações de Design Rationale Como mencionamos anteriormente, representar design rationale em uma linguagem formal usando o modelo formal dos artefatos nos permite atribuir semântica ao

Leia mais

4 Processo de Transformação

4 Processo de Transformação Tecnologias Relacionadas 43 4 Processo de Transformação Com a constante mudança nos requisitos (funcionais e não funcionais) do domínio da aplicação, há uma grande necessidade de que os sistemas estejam

Leia mais

Informática Parte 19 Prof. Márcio Hunecke

Informática Parte 19 Prof. Márcio Hunecke Escriturário Informática Parte 19 Prof. Márcio Hunecke Informática NOÇÕES DE ALGORITMOS DE APRENDIZADO O aprendizado automático, aprendizado de máquina (em inglês: "machine learning") ou aprendizagem

Leia mais

A evolução natural deu ao cérebro humano muitas características desejáveis que não estão presentes na máquina de von Neumann:

A evolução natural deu ao cérebro humano muitas características desejáveis que não estão presentes na máquina de von Neumann: Faculdade de Engenharia de Computação Centro de Ciências Exatas, Ambientais e de Tecnologias PUC-Campinas João Luís Garcia Rosa 2004 2 A evolução natural deu ao cérebro humano muitas características desejáveis

Leia mais

Redes Neurais e Sistemas Fuzzy

Redes Neurais e Sistemas Fuzzy Redes Neurais e Sistemas Fuzzy Redes de uma única camada O Perceptron elementar Classificação de padrões por um perceptron A tarefa de classificação consiste em aprender a atribuir rótulos a dados que

Leia mais

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema. Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Ciclo de Vida - Fluxos Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva Computação Evolutiva Algoritmos Genéticos A computação evolutiva (CE) é uma área da ciência da computação que abrange modelos computacionais inspirados na Teoria da Evolução das Espécies, essencialmente

Leia mais

Mineração de Dados em Biologia Molecular

Mineração de Dados em Biologia Molecular Mineração de Dados em Biologia Molecular Principais tópicos André C. P. L. F. de Carvalho Monitor: Valéria Carvalho Métodos baseados em distância Aprendizado baseado em instâncias Conceitos básicos KNN

Leia mais

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software Uma Arquitetura para a Coordenação e a de Artefatos de 23 3 Arquitetura para a Coordenação e a de Artefatos de Resumo Este capítulo apresenta a arquitetura ACCA, que é a parte central deste trabalho. A

Leia mais

Sistemas Baseados em Conhecimento

Sistemas Baseados em Conhecimento Sistemas Baseados em Conhecimento Profa. Josiane M. P. Ferreira Baseado no capítulo 2 do livro Sistemas Inteligentes Fundamentos de Aplicações, organizadção: Solange Oliveira Rezende, ed. Manole, 2005.

Leia mais

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes.

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes. HP UFCG Analytics Abril-Maio 2012 Um curso sobre Reconhecimento de Padrões e Redes Neurais Por Herman Martins Gomes hmg@dsc.ufcg.edu.br Programa Visão Geral (2H) Reconhecimento Estatístico de Padrões (3H)

Leia mais

Informática. Aprendizado de Máquina. Professor Márcio Hunecke.

Informática. Aprendizado de Máquina. Professor Márcio Hunecke. Informática Aprendizado de Máquina Professor Márcio Hunecke www.acasadoconcurseiro.com.br Informática Aula XX NOÇÕES DE ALGORITMOS DE APRENDIZADO O aprendizado automático, aprendizado de máquina (em inglês:

Leia mais

Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Redes Neurais Artificial Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Histórico 3. Conceitos Básicos 4. Aprendizado em RNA 5. Exemplo de Aprendizado com

Leia mais

Arquivos invertidos 39

Arquivos invertidos 39 Arquivos invertidos 39 Arquivos invertidos É um mecanismo que utiliza palavras para indexar uma coleção de documentos a fim de facilitar a busca e a recuperação Estruturas de um arquivo invertido Vocabulário

Leia mais

8.1 Principais Resultados

8.1 Principais Resultados 8 Conclusões Nesta dissertação, descrevemos um sistema multi-agente para negociação em leilões simultâneos de bens relacionados. Quando falamos de agentes de negociação nos referimos ao software que negocia

Leia mais

Tarefas de Gerenciamento de Configuração

Tarefas de Gerenciamento de Configuração Tarefas de Gerenciamento de Configuração 1- Tarefas Preliminares 2- Identificação 3- Controle de Mudanças 4- Controle de Versão 5- Auditoria de Configuração 6- Relato de Situação 7- Controle de Interface

Leia mais

REDES NEURAIS ARTIFICIAIS

REDES NEURAIS ARTIFICIAIS REDES NEURAIS ARTIFICIAIS REDES NEURAIS ARTIFICIAIS O QUE É UMA REDE NEURAL NEURÔNIOS BIOLÓGICOS CÉREBRO HUMANO E CAPACIDADE DE GENERALIZAÇÃO. Modelo McCulloch e Pitts FUNÇÕES DE ATIVAÇÃO APRENDIZADO APRENDIZADO

Leia mais

3 Redes Neurais Artificiais

3 Redes Neurais Artificiais 3 Redes Neurais Artificiais 3.1. Introdução A capacidade de implementar computacionalmente versões simplificadas de neurônios biológicos deu origem a uma subespecialidade da inteligência artificial, conhecida

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Aprendizado de Máquina Inteligência Artificial Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Aprendizado de Máquina (Machine Learning)

Aprendizado de Máquina (Machine Learning) Ciência da Computação Aprendizado de Máquina (Machine Learning) Aula 09 Árvores de Decisão Max Pereira Classificação É a tarefa de organizar objetos em uma entre diversas categorias pré-definidas. Exemplos

Leia mais

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica REDES NEURAIS ARTIFICIAIS AULA 03 Prof. Dr. André A. P. Biscaro 1º Semestre de 2017 INTRODUÇÃO Aprendizagem é um processo pelo qual os parâmetros livres de uma rede neural são adaptados através de um processo

Leia mais

RACIOCÍNIO BASEADO EM CASOS APLICADO PARA AUXÍLIO NA SELEÇÃO DE CURSOS DO INSTITUTO FEDERAL CATARINENSE

RACIOCÍNIO BASEADO EM CASOS APLICADO PARA AUXÍLIO NA SELEÇÃO DE CURSOS DO INSTITUTO FEDERAL CATARINENSE RACIOCÍNIO BASEADO EM CASOS APLICADO PARA AUXÍLIO NA SELEÇÃO DE CURSOS DO INSTITUTO FEDERAL CATARINENSE. Autores: Munyque MITTELMANN, Daniel Gomes SOARES. Identificação autores: Acadêmica do IFC-Rio do

Leia mais

Modelagem de Sistemas Web. Modelagem de BD

Modelagem de Sistemas Web. Modelagem de BD Modelagem de Sistemas Web Aula 9 Modelagem de BD OBS: Pré-requisito: noções intermediárias em BD e de modelo ER Fonte: Proj. e Mod. BD 4/E Capítulo: Análise de Req. E Mod. Dados Conceit. - Toby Teorey

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Aprendizado de Máquina Introdução Luiz Eduardo S. Oliveira Universidade Federal do Paraná Departamento de Informática http://lesoliveira.net Luiz S. Oliveira (UFPR) Aprendizado de Máquina 1 / 19 Introdução

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Aprendizado de Máquina Inteligência Artificial Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Leia mais

Engenharia Software. Ení Berbert Camilo Contaiffer

Engenharia Software. Ení Berbert Camilo Contaiffer Engenharia Software Ení Berbert Camilo Contaiffer Características do Software Software não é um elemento físico, é um elemento lógico; Software é desenvolvido ou projetado por engenharia, não manufaturado

Leia mais

Profs.: Eduardo Vargas Ferreira Walmes Marques Zeviani

Profs.: Eduardo Vargas Ferreira Walmes Marques Zeviani Universidade Federal do Paraná Laboratório de Estatística e Geoinformação - LEG Introdução Profs.: Eduardo Vargas Ferreira Walmes Marques Zeviani O que é Machine Learning? Estatística Machine Learning

Leia mais

SISTEMA DE CONHECIMENTO EM HELP DESK UTILIZANDO RACIOCÍNIO BASEADO EM CASOS PARA APOIO AOS CLIENTES E CONSULTORES DE SOFTHOUSE NA WEB

SISTEMA DE CONHECIMENTO EM HELP DESK UTILIZANDO RACIOCÍNIO BASEADO EM CASOS PARA APOIO AOS CLIENTES E CONSULTORES DE SOFTHOUSE NA WEB SISTEMA DE CONHECIMENTO EM HELP DESK UTILIZANDO RACIOCÍNIO BASEADO EM CASOS PARA APOIO AOS CLIENTES E CONSULTORES DE SOFTHOUSE NA WEB Por Janira Wehrmeister Orientador: Oscar Dalfovo SEQÜÊNCIA DA APRESENTAÇÃO

Leia mais

Redes Neurais e Sistemas Fuzzy

Redes Neurais e Sistemas Fuzzy 1. Inteligência Computacional Redes Neurais e Sistemas Fuzzy Apresentação da disciplina Conceitos básicos A chamada Inteligência Computacional (IC) reúne uma série de abordagens e técnicas que tentam modelar

Leia mais

Clustering: k-means e Agglomerative

Clustering: k-means e Agglomerative Tópicos Avançados em Avaliação de Desempenho de Sistemas Jackson Nunes Marco Eugênio Araújo Outubro de 2014 1 Sumário Contextualização Classificação Agrupamento (Clustering) Cenários de Aplicação Clustering

Leia mais

3 Trabalhos Relacionados

3 Trabalhos Relacionados Trabalhos Relacionados 31 3 Trabalhos Relacionados Nesta seção, são descritos alguns trabalhos relacionados, a relação entre eles e o trabalho proposto, além da relação com os desafios mencionados na subseção

Leia mais

Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados.

Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados. Universidade Estadual de Mato Grosso do Sul Ciência da Computação Banco de Dados Prof. Nilton nilton@comp.uems.br Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados. 2

Leia mais

Aprendizagem de Máquina - 2. Prof. Júlio Cesar Nievola PPGIa - PUCPR

Aprendizagem de Máquina - 2. Prof. Júlio Cesar Nievola PPGIa - PUCPR Aprendizagem de Máquina - 2 Prof. Júlio Cesar Nievola PPGIa - PUCPR Inteligência versus Aprendizado Aprendizado é a chave da superioridade da Inteligência Humana Para que uma máquina tenha Comportamento

Leia mais

Aprendizagem de Máquina

Aprendizagem de Máquina Aprendizagem de Máquina Árvores de Decisão Poda e extensões Prof. Paulo Martins Engel UFRGS 2 Questões sobre Árvores de Decisão Questões práticas do aprendizado de AD incluem: Determinar até quando se

Leia mais

Inteligência nos Negócios (Business Inteligente)

Inteligência nos Negócios (Business Inteligente) Inteligência nos Negócios (Business Inteligente) Sistemas de Informação Sistemas de Apoio a Decisão Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 6) Fundamentação da disciplina Analise de dados Decisões

Leia mais

Tecnologia RFID aplicada a agrocomputação: Um estudo de caso utilizando descoberta de conhecimento em base de dados

Tecnologia RFID aplicada a agrocomputação: Um estudo de caso utilizando descoberta de conhecimento em base de dados Tecnologia RFID aplicada a agrocomputação: Um estudo de caso utilizando descoberta de conhecimento em base de dados Nome: Alex Sandro de Paula Rodrigues; Orientadora: Profª. Dra. Regina Barwaldt ORGANIZAÇÃO

Leia mais

Realimentação de Relevância

Realimentação de Relevância Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia Recuperação da Informação Ciclo de realimentação onde uma consulta q recebida do usuário é transformada em uma consulta modificada

Leia mais

Introdução a Teste de Software

Introdução a Teste de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software

Leia mais

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações Sistema (SI) Coleção de atividades de Banco de Dados que regulam o compartilhamento, SI nas Organizações a distribuição de informações Fernando Fonseca e o armazenamento de dados relevantes ao gerenciamento

Leia mais

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 05 Sistemas Especialistas Max Pereira Sistemas Especialistas Pesquisadores de IA queriam desenvolver

Leia mais

Engenharia de Software. Projeto de Arquitetura

Engenharia de Software. Projeto de Arquitetura Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Aprendizado de Máquina Árvores de Decisão Luiz Eduardo S. Oliveira Universidade Federal do Paraná Departamento de Informática http://lesoliveira.net Luiz S. Oliveira (UFPR) Aprendizado de Máquina 1 / 28

Leia mais

Ambiente de Data Warehouse Para Imagens Médicas Baseado Em Similaridade

Ambiente de Data Warehouse Para Imagens Médicas Baseado Em Similaridade Universidade de São Paulo - USP Instituto de Ciências Matemáticas e de Computação - ICMC Programa de Pós-Graduação em Ciências da Computação e Matemática Computacional Ambiente de Data Warehouse Para Imagens

Leia mais

5 Estudo de Caso e Resultados

5 Estudo de Caso e Resultados 5 Estudo de Caso e Resultados 5.1. Introdução Finalizado o desenvolvimento da ferramenta, é indispensável testar suas funcionalidades e a eficácia da aplicação conjunta dos seus módulos de geração de experimentos

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 18 Aprendizado Não-Supervisionado Formas de Aprendizado Aprendizado Supervisionado Árvores de Decisão. K-Nearest Neighbor

Leia mais

SUPPORT VECTOR MACHINE - SVM

SUPPORT VECTOR MACHINE - SVM SUPPORT VECTOR MACHINE - SVM Definição 2 Máquinas de Vetores Suporte (Support Vector Machines - SVMs) Proposto em 79 por Vladimir Vapnik Um dos mais importantes acontecimentos na área de reconhecimento

Leia mais

Hashing: conceitos. Hashing

Hashing: conceitos. Hashing Hashing: conceitos hashing é uma técnica conhecida como espalhamento, mapeamento ou randomização que tenta distribuir dados em posições aleatórias de uma tabela (array) associa cada objeto (de um determinado

Leia mais

Teste de Software. Objetivo: Executar software para revelar erros/falhas ainda não descobertos. Pode gastar 40% do esforço de desenvolvimento

Teste de Software. Objetivo: Executar software para revelar erros/falhas ainda não descobertos. Pode gastar 40% do esforço de desenvolvimento Teste de Software 3 Teste de Software Objetivo: Executar software para revelar erros/falhas ainda não descobertos Pode gastar 40% do esforço de desenvolvimento 2 Teste de Software Defeito (fault, defects)

Leia mais

Descoberta de Conhecimento em Bancos de Dados - KDD

Descoberta de Conhecimento em Bancos de Dados - KDD Descoberta de Conhecimento em Bancos de Dados - KDD Professor: Rosalvo Ferreira de Oliveira Neto Disciplina: Inteligência Artificial Tópicos 1. Definições 2. Fases do processo 3. Exemplo do DMC 4. Avaliação

Leia mais

Universidade Federal de Mato Grosso - UFMT Probabilidade e Estatística

Universidade Federal de Mato Grosso - UFMT Probabilidade e Estatística Universidade Federal de Mato Grosso - UFMT Probabilidade e Estatística 1 Introdução Definição: Estatística é um conjunto de conceitos e métodos científicos para coleta, organização, descrição, análise

Leia mais

Inteligência Artificial

Inteligência Artificial Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Pós-Graduação em Ciência da Computação Inteligência Artificial Representação do Conhecimento (Parte I) Prof. a

Leia mais

Mineração de Dados em Biologia Molecular

Mineração de Dados em Biologia Molecular Mineração de Dados em Biologia Molecular Tópicos André C. P. L. F. de Carvalho Monitor: Valéria Carvalho Mineração de Dados Introdução Mineração de Dados Aprendizado de Máquina Métodos Preditivos Métodos

Leia mais

2 O Modelo: SetModel. 2.1 Modelo de Informação

2 O Modelo: SetModel. 2.1 Modelo de Informação O Modelo: SetModel 2 O Modelo: SetModel 2.1 Modelo de Informação Modelo de informação é uma representação abstrata e formal de entidades incluindo suas propriedades, relações e operações que podem ser

Leia mais