ebook img

Descoberta de Conhecimento e Mineração de Dados Apostila PDF

102 Pages·1999·1.19 MB·Portuguese
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Descoberta de Conhecimento e Mineração de Dados Apostila

Descoberta de Conhecimento e Mineração de Dados Apostila ICA – Laboratório de Inteligência Computacional Aplicada Departamento de Engenharia Elétrica, PUC–Rio Marco Aurélio Marley Vellasco Carlos Henrique Lopes - 1 – ICA – Lab. Inteligência Computacional Aplicada , DEE, PUC–Rio (Versäo 26/08/99) 1. Introdução.......................................................................................................................................................5 2. Banco de Dados...............................................................................................................................................6 3. Data Warehouse..............................................................................................................................................9 4. KDD – Knowledge Discovery Database.......................................................................................................12 4.1. TAREFAS DE KDD..................................................................................................................................12 4.1.1. Regras de Associação..........................................................................................................................12 4.1.2. Classificação........................................................................................................................................14 4.1.3. Clustering............................................................................................................................................15 4.2. FASES DE KDD........................................................................................................................................16 4.2.1. Data Warehousing: Organização de grandes volumes de dados.........................................................16 OLAP: Processamento Analítico On-Line (On-Line Analytical Processing)...........................................17 4.2.2. Pré-processamento dos dados..............................................................................................................18 4.2.3. Limpeza dos dados..............................................................................................................................18 4.2.4. Seleção dos dados................................................................................................................................18 4.2.5. Codificação dos dados.........................................................................................................................19 4.2.6. Enriquecimento dos dados...................................................................................................................19 4.2.7. Mineração de Dados (Data Mining)....................................................................................................19 4.2.8. Pós-processamento..............................................................................................................................20 5. Data Mining..................................................................................................................................................21 5.1. INTRODUÇÃO.........................................................................................................................................21 5.2. TÉCNICAS E ALGORITMOS PARA A MINERAÇÃO DE DADOS....................................................22 5.2.1. Redes Neurais Artificiais.....................................................................................................................22 Introdução às Redes Neurais Artificiais....................................................................................................22 Modelagem de Redes Neurais Artificiais em Mineração de Dados..........................................................24 5.2.2. Algoritmos Genéticos..........................................................................................................................25 Introdução a Algoritmos genéticos............................................................................................................26 Modelagem de Algoritmos Genéticos para a Mineração de Dados...........................................................27 5.2.3. Lógica Indutiva...................................................................................................................................29 5.2.4. Métodos Estatísticos............................................................................................................................30 Classificadores Bayesianos.......................................................................................................................30 Redes Bayesianas......................................................................................................................................32 Árvores de decisão....................................................................................................................................33 1.1.1.1.1. Indução de Regras..............................................................................................................34 1.1.1.1.2. Algoritmo ID3....................................................................................................................34 6. Redes Neurais................................................................................................................................................36 6.1. Fundamentos das Redes Neurais Artificiais...............................................................................................36 6.1.1. Histórico..............................................................................................................................................36 6.1.2. O Neurônio Artificial..........................................................................................................................37 6.1.3. Funções de Ativação...........................................................................................................................38 6.1.4. Topologia das Redes Neurais Artificiais.............................................................................................39 6.1.5. Tipos de Treinamento..........................................................................................................................40 6.2. Redes Neurais Artificiais Multi-Camadas..................................................................................................41 6.2.1. - Algoritmo de Retropropagação do Erro............................................................................................41 6.3. Modelagem de Redes Neurais para Data Mining.......................................................................................43 6.3.1. Seleção de Dados................................................................................................................................43 6.3.2. Pré-processamento..............................................................................................................................44 Atributos derivados...................................................................................................................................44 Escalamento..............................................................................................................................................44 Normalização............................................................................................................................................44 Mapeamento simbólico e taxonomias.......................................................................................................44 Translações de simbólicos para numéricos...............................................................................................45 6.3.3. Representação dos dados.....................................................................................................................45 Representação Numérica dos dados..........................................................................................................45 Valores Discretos......................................................................................................................................45 Código 1-de-N...........................................................................................................................................45 Código binário...........................................................................................................................................45 Código de temperatura..............................................................................................................................46 Valores contínuos......................................................................................................................................46 Representações de Dados Simbólicos.......................................................................................................46 Impacto da Representação dos Dados no Tempo de Treinamento............................................................47 - 2 – ICA – Lab. Inteligência Computacional Aplicada , DEE, PUC–Rio (Versäo 26/08/99) 6.3.4. Gerenciando Conjunto de Treinamento de Dados...............................................................................47 6.3.5. Quantidade de Dados..........................................................................................................................47 6.3.6. Qualidade dos dados (Entra Lixo, Sai Lixo).......................................................................................48 7. Neuro Fuzzy..................................................................................................................................................48 7.1. MOTIVAÇÃO...........................................................................................................................................48 7.2. Sistemas Híbridos.......................................................................................................................................49 7.2.1. Introdução...........................................................................................................................................49 7.2.2. Sistemas Neuro-fuzzy..........................................................................................................................51 Taxonomia dos Sistemas Neurofuzzy.......................................................................................................52 Taxonomia quanto às características fuzzy...............................................................................................53 Taxonomia quanto às características de aprendizado................................................................................64 Exemplos de Modelos Neuro-Fuzzy........................................................................................................66 Taxonomia dos três sistemas estudados....................................................................................................71 7.2.3. LIMITAÇÕES DOS SNF...................................................................................................................72 8. Algoritmos Genéticos....................................................................................................................................73 8.1. RESUMO...................................................................................................................................................73 8.2. ALGORITMOS GENÉTICOS: PRINCÍPIOS E APLICAÇÕES..............................................................73 8.3. Fundamentos matemáticos de Algoritmos genéticos.................................................................................77 8.3.1. Análise do Efeito da Seleção...............................................................................................................77 8.3.2. Análise do Efeito do Crossover...........................................................................................................79 8.3.3. Análise do Efeito da Mutação.............................................................................................................79 8.4. Desempenho de Algoritmo GenéticoS.......................................................................................................80 8.5. Técnicas, PARÂMETROS e Operadores Genéticos..................................................................................80 8.5.1. Técnicas de Reprodução:.....................................................................................................................80 8.5.2. Técnicas de Aptidão:...........................................................................................................................81 8.5.3. Técnicas de Interpolação de Parâmetros:............................................................................................81 8.5.4. Operadores Genéticos..........................................................................................................................82 8.6. Modelagem de Algoritmos genéticos para Data Mining............................................................................82 8.6.1. CLASSIFICAÇÃO POR EVOLUÇÃO DE REGRAS DE ASSOCIAÇÃO.......................................82 ACURÁCIA E ABRANGÊNCIA DE UMA REGRA..............................................................................83 MODELAGEM DO ALGORITMO GENÉTICO....................................................................................83 8.6.2. Representação de Cromossomas.........................................................................................................83 8.6.3. Operadores Genéticos..........................................................................................................................84 8.6.4. Inicialização da População..................................................................................................................85 8.6.5. Técnicas e Parâmetros.........................................................................................................................87 8.6.6. Funções de Avaliação..........................................................................................................................88 Número-Atributos.....................................................................................................................................89 Distância-Ótima........................................................................................................................................89 Recompensa-Atributos..............................................................................................................................90 CBayesianos..............................................................................................................................................90 Número-Registros.....................................................................................................................................90 FAcurácia..................................................................................................................................................90 FAbrangência............................................................................................................................................90 Rule Interest..............................................................................................................................................91 Chi-Square.................................................................................................................................................91 8.6.7. Recompesa nas funções de avaliação..................................................................................................91 9. Apêndice.......................................................................................................................................................93 9.1. Softwares comerciais e Sites......................................................................................................................93 9.1.1. AC2 (www.isoft.fr).............................................................................................................................93 9.1.2. ALICE d’ISoft (www.isoft.fr).............................................................................................................93 9.1.3. AutoClass C (ic-www.arc.nasa.gov/ic/projects/bayes-group/group/autoclass/autoclass-c- program.html)................................................................................................................................................93 9.1.4. Clementine (www.isl.co.uk/clem.html)...............................................................................................93 9.1.5. Data Surveyor (www.ddi.nl)...............................................................................................................93 9.1.6. Data Engine (www.mitgmbh.de).........................................................................................................93 9.1.7. Datasage (www.datasage.com)...........................................................................................................94 9.1.8. DataScope (http://www.tiszanet.hu/cygron/datascp.htm)...................................................................94 9.1.9. Outros softwares e sites.......................................................................................................................94 C5.0 / See5 - www.rulequest.com.............................................................................................................94 Commercial tools for data mining - www.cs.bham.ac.uk/~anp/dm_docs/oudshoff.tools.posting............94 - 3 – ICA – Lab. Inteligência Computacional Aplicada , DEE, PUC–Rio (Versäo 26/08/99) DataDetective – www.smr.nl....................................................................................................................94 dbProphet: neural network data mining tool by Trajecta – www.trajecta.com.........................................94 Explora - http://orgwis.gmd.de/projects/explora/......................................................................................94 IBM Visualization Data Explorer – www.almaden.ibm.com/dx/.............................................................94 LEVEL5 Quest – www.l5r.com................................................................................................................94 ModelQuest Enterprise – www.abtech.com..............................................................................................94 ModelQuest Enterprise – www.data-mine.com.........................................................................................94 PV-WAVE – www.vni.com......................................................................................................................94 SE-Learn - http://www.isp.pitt.edu/~rymon/SE-Learn.html.....................................................................94 SPSS Data Mining Software – www.spss.com/datamine/.........................................................................94 SuperQuery – www.azmy.com..................................................................................................................94 WizRule for Windows – www.wizsoft.com..............................................................................................94 XpertRule – www.attar.com......................................................................................................................94 9.2. Empresas de Data Mining no Brasil...........................................................................................................94 9.2.1. http://www.execplan.com.br/..............................................................................................................95 9.2.2. http://vidaconsultores.com.br/infovida/...............................................................................................95 9.2.3. http://www.rio.com.br/~extend/..........................................................................................................95 9.2.4. http://www.geocities.com/WallStreet/District/2108/ricvill.htm..........................................................95 9.3. Empresas e produtos em Data Mining........................................................................................................95 9.3.1. American Heuristics/Profiler – www.heuristics.com..........................................................................95 9.3.2. Angoss Software/Knowledge Seeker – www.angoss.com..................................................................95 9.3.3. Business Objects/BusinessMiner – www.businessobjects.com..........................................................95 9.3.4. DataMind/DataMindProfessional – www.datamind.com....................................................................95 9.3.5. HNC Software/DataMarksman – www.hncs.com...............................................................................95 9.3.6. HiperParallel/Discovery – www.hiperparallel.com.............................................................................95 9.3.7. Information Discovery Inc.(IDI)/Information Discovery System – www.datamining.com................95 9.3.8. Lucent Technologies/Interactive Data Visualization – www.lucent.com............................................95 9.3.9. Nestor/Prism – www.nestor.com.........................................................................................................95 9.3.10. Pilot Software/pilot Discovery Server – www.pilotsw.com..............................................................95 9.3.11. Seagate Software Systems/Holos 5.0 – www.holossys.com.............................................................95 9.3.12. Thinking Machines/Darwin – www.think.com.................................................................................96 Referências............................................................................................................................................................96 - 4 – ICA – Lab. Inteligência Computacional Aplicada , DEE, PUC–Rio (Versäo 26/08/99) 1 . INTRODUÇÃO Durante os últimos anos tem se verificado um crescimento substancial da quantidade de dados armazenados em meios magnéticos. Estes dados, produzidos e armazenados em larga escala, são inviáveis de serem lidos ou analisados por especialistas através de métodos manuais tradicionais [PIAT91], tais como planilhas de cálculos e relatórios informativos operacionais, onde o especialista testa sua hipótese contra a base de dados. Por outro lado, sabe-se que grandes quantidades de dados equivalem a um maior potencial de informação. Entretanto, as informações contidas nos dados não estão caracterizadas explicitamente, uma vez que sendo dados operacionais, não interessam quando estudados individualmente. Diante deste cenário, surge a necessidade de se explorar estes dados para extrair informação - conhecimento implícito, e utilizá-la no âmbito do problema. Argumenta-se que a necessidade de sistemas para dar suporte a decisão têm se desenvolvido ao longo dos anos cada vez mais dentro de uma granularidade de informações mais refinada, da seguinte maneira: nos anos 60 as exigências e necessidades estavam a nível de mercado; nos anos 70, ao nível de nichos, grupos de interesse; nos anos 80, a nível de seguimentos de mercado; e nos anos 90, a nível de clientes. Este último nível, naturalmente, requer o uso de mais dados para se extrair conhecimento [KELL95]. A exploração do valor destes dados, ou seja, a informação neles contida implicitamente, depende de técnicas como Regras de Associação [SRIK95], Classificação [MICH94], Clustering [FISH87], entre outras, capazes de gerenciar tarefas complexas. O processo capaz de descobrir este conhecimento em banco de dados chama-se KDD (Knowledge Discovery Database). O processo de KDD foi proposto em 1989 para referir-se às etapas que produzem conhecimentos a partir dos dados e, principalmente, à etapa de mineração dos dados, que é a fase que transforma dados em informações [FAYY96]. Este processo envolve encontrar e interpretar padrões nos dados, de modo iterativo e interativo, através da repetição dos algoritmos e da análise de seus resultados. Esse processo contém diversas fases: definição do problema; seleção dos dados; limpeza dos dados; pré-processamento dos dados; codificação dos dados; enriquecimento dos dados; mineração dos dados (Data Mining) e a interpretação dos resultados. O processo de KDD é formado pela interseção de diferentes áreas. As áreas mais relacionadas em descoberta de conhecimento são: Machine Learning [LANG96], [SHAV90], Inteligência Computacional, estatística [ELDE96] e visualização dos dados [LEE 95]. Na área de Inteligência Computacional, em particular, as técnicas mais utilizadas são: Redes Neurais Artificiais [HAYK94], [RUME86], Indução de regras [NILS80] e Algoritmos Genéticos [GOLD89]. A Inteligência Computacional é uma área da ciência que busca, através de técnicas inspiradas na Natureza, o desenvolvimento de sistemas inteligentes que imitam aspectos do comportamento humano, tais como: aprendizado, percepção, raciocínio, evolução e adaptação. Técnica Inspiração Redes Neurais Neurônios biológicos Algoritmos Genéticos Evolução biológica Lógica Fuzzy Proc. lingüístico Sistemas Especialistas Inferência Redes Neurais são modelos computacionais não lineares, inspirados na estrutura e operação do cérebro humano, que procuram reproduzir características humanas, tais como: aprendizado, associação, generalização e abstração. Redes Neurais são efetivas no aprendizado de padrões a partir de dados não lineares, incompletos, com ruído ou compostos de exemplos contraditórios. Algoritmos Genéticos são algoritmos matemáticos inspirados nos mecanismos de evolução natural e recombinação genética. A técnica de Algoritmos Genéticos fornece um mecanismo de busca adaptativa que se baseia no princípio Darwiniano de reprodução e sobrevivência dos mais aptos. Lógica Nebulosa (Fuzzy Logic) tem por objetivo modelar o modo aproximado de raciocínio humano, visando desenvolver sistemas computacionais capazes de tomar decisões racionais em um ambiente de incerteza e imprecisão. A Lógica Nebulosa oferece um mecanismo para manipular informações imprecisas, tais como os conceitos de muito, pouco, pequeno, alto, bom, quente, frio, etc, fornecendo uma resposta aproximada para uma questão baseada em um conhecimento que é inexato, incompleto ou não totalmente confiável. Sistemas Especialistas são programas computacionais destinados a solucionar problemas em um campo especializado do conhecimento humano. Usa técnicas de IA, base de conhecimento e raciocínio inferencial. As técnicas da Inteligência Computacional têm sido empregadas com sucesso no desenvolvimento de sistemas inteligentes de previsão, suporte à decisão, controle, otimização, modelagem, classificação e reconhecimento de padrões em geral, aplicados em diversos setores: Energia, Industrial, Econômico, Financeiro, Comercial e Outros, Síntese de Circuitos, Meio Ambiente, entre outros [MARCO]. - 5 – ICA – Lab. Inteligência Computacional Aplicada , DEE, PUC–Rio (Versäo 26/08/99) 2 . BANCO DE DADOS Este capítulo introduz banco de dados de uma forma simples. São abordados os pontos que julga-se ser o mínimo necessário para deixar o leitor capacitado a entender a necessidade de banco de dados direcionados para Data Mining. Os tópicos abordados estão mais detalhados na referência citada para banco de dados. De maneira genérica são abordados em banco de dados: conceitos básicos, tais como definição e propriedades; características, como linguagens de BD e coerência dos dados; arquitetura lógica, esquemas externo, conceitual e interno; usuários; modelo de Entidade-Relacionamento; linguagens de consulta; linguagem SQL, apresentando os principais comandos; cuidados no projeto do BD e algumas restrições de integridade. Pode-se definir banco de dados como uma coleção de dados relacionados. Onde dados significam fatos conhecidos que podem ser armazenados e que possuem significado implícito. Por exemplo, considere os nomes, número de telefones, e endereços das pessoas que você conhece. Você pode ter armazenado esse dado numa agenda de endereço indexada, ou você pode ter armazenado ele diretamente em um disquete, utilizando um PC e um software como DBASE IV ou V, PARADOX, ou EXCEL. Isto é uma coleção de dados relacionados com um significado implícito, então é um banco de dados. De maneira genérica um banco de dados possui as seguintes propriedades implícitas: • Um banco de dados representa algum aspecto do mundo real, algumas vezes chamado de mini-mundo ou Universo do Discurso. Mudanças no mini-mundo são refletidas no banco de dados. • Um banco de dados é uma coleção logicamente coerente de dados como algum significado herdado. Uma ordenação aleatória de dados não pode ser corretamente referenciada como um banco de dados. • Um banco de dados é modelado, construído, e povoado com dados para uma proposta específica. Ou seja existe um grupo de usuários e algumas aplicações pré concebidas as quais esses usuários estão interessados. Em outras palavras, os bancos de dados tem alguma origem da qual os dados são derivados, algum grau de interação com eventos no mundo real, e alguns usuários que estão ativamente interessados no conteúdo do banco de dados. Um banco de dados pode ser gerado e mantido manualmente ou por uma máquina. Um banco de dados computadorizado pode ser criado e mantido ou por um grupo de programas de aplicação escritos especialmente para essa tarefa ou por um sistema gerenciador de banco de dados. Um sistema gerenciador de banco de dados (SGBD), ou em inglês, DBMS (Database Management System), é uma coleção de programas habilita usuários a criar e manter um banco de dados. O SGBD é então um software de propósito geral que facilita o processo de definir, construir e manipular banco de dados de várias aplicações. Onde definir o banco de dados envolve especificar os tipos dos dados, estruturas e restrições para os dados que serão armazenados no banco de dados. Construir o banco de dados é o processo de armazenamento do dado em alguma mídia que é controlada pelo SGBD. E a manipulação do banco de dados inclui algumas funções como queries que buscam por dados específicos, atualizações no banco de dados que refletem mudanças no mini-mundo, e geração de relatórios dos dados. Usuários/ Programadores SISTEMA BD Programas de Aplicação/Queries SGBD Software para processar SOFTWARE Queries /Programas Software para acessar Dados Armazenados Meta-Dados BD Definição Armazenado Figura 1: Um ambiente simplificado de um sistema de banco de dados - 6 – ICA – Lab. Inteligência Computacional Aplicada , DEE, PUC–Rio (Versäo 26/08/99) É necessário uma grande quantidade de softwares para manipular o banco de dados além do próprio banco de dados, nesse caso, chama-se sistema de banco de dados o conjunto BD e softwares. A Figura 1 ilustra essas idéias. Um número de características distinguem a aproximação de banco de dados com a aproximação tradicional de programação com arquivos. No tradicional processamento de arquivos, cada usuário define e implementa os arquivos necessários para uma aplicação específica. Na aproximação por banco de dados, um único repositório de dados é mantido e definido uma única vez e então é acessada por vários usuários. Deste modo as principais características podem ser a definição do banco de dados através da linguagem de definição de dados (LDD) criando e relacionamentos, tipos e restrições nos dados; a utilização de linguagens de manipulação de dados (LMD) fazendo atualizações na base; o suporte ao método de armazenamento, segurança, e acesso eficiente aos dados, além do controle multi-usuário concorrentemente. Entretanto a característica fundamental é a que provê um nível de abstração capaz de esconder os detalhes de como os dados estão armazenados, que para a maioria dos usuários não é de interesse. Analisando-se as principais características de banco de dados pode-se especificar uma arquitetura para sistemas de banco de dados, chamada de arquitetura em 3 níveis ou esquemas (Figura 2). NÍVEIS DE ABSTRAÇÃO Esquema Externo EE1 EE2 EEN Esquema Conceitual Esquema Interno Figura 2: Arquitetura em 3 níveis O objetivo dessa arquitetura ilustrada na Figura 2 é separar as aplicações dos usuários e o banco de dados fisicamente. Nessa arquitetura os esquemas podem ser definidos nos seguintes níveis: 1. O nível interno tem um esquema interno, que descreve a estrutura física de armazenamento do banco de dados. O esquema interno usa o modelo de dados físico e descreve detalhes completos do armazenamento dos dados e caminhos de acesso para o banco de dados. 2. O nível conceitual tem um esquema conceitual, que descreve a estrutura de todo o banco de dados para uma comunidade de usuários. O esquema conceitual escondes os detalhes da estrutura de armazenamento físico e concentra-se na descrição de entidades, tipos de dados, relacionamentos, operações de usuários, e restrições. 3. O esquema externo ou nível de visão inclui um número de esquemas esternos ou visões de usuários. Cada esquema externo descreve a parte do banco de dados que um grupo particular de usuários está interessada e esconde o resto do banco de dados para esse mesmo grupo. Essa arquitetura pode ser utilizada para explicar o conceito de independência dos dados., que pode ser definido como a capacidade de alterar o esquema em algum nível de um banco de dados sem ter que alterar o esquemas do nível mais alto. Pode-se definir dois tipos de independência, a física e a lógica. A independência lógica é a capacidade de alterar o esquema conceitual sem ter que alterar o conceito externo ou os programas de aplicação. A independência física é a capacidade de mudar o esquema interno sem ter que mudar o esquema conceitual. Uma vez que o modelo do banco de dados está definido e um SGBD foi escolhido para implementar o banco de dados, então precisa-se especificar os esquemas conceitual e interno para o banco de dados e qualquer mapeamento entre os dois. Uma linguagem chamada Linguagem de Definição de Dados (LDD) é utilizada por um usuário administrador da base e pelos desenvolvedores do modelo para definir ambos os esquemas. Em SGBDs onde existe uma clara diferença entre os níveis conceitual e interno, a LDD é utilizada apenas para o modelo conceitual. Uma outra linguagem (SDL – Storage Definition Data) é usada para especificar o modelo interno. Para completar a arquitetura de 3 níveis é necessário uma terceira linguagem, a VDL (View Definition Language) que define o esquema de visões. Uma vez que os esquemas do banco de dados são criados e o banco de dados é povoado, os usuários precisam ter meios de manipular os dados. As manipulações típicas incluem - 7 – ICA – Lab. Inteligência Computacional Aplicada , DEE, PUC–Rio (Versäo 26/08/99) busca, inserção, deleção, e modificação dos dados. Para essa proposta o SGBD propõe a LMD, linguagem de manipulação de dados. O modelo conceitual de entidade-relacionamento descreve dados como entidades, relacionamentos e atributos. A entidade é o objeto básico representado no modelo ER, que é uma “coisa” do mundo real com existência independente. Uma entidade pode ser um objeto com existência física – uma pessoa, carro, casa, ou empregado – ou pode ser um objeto com existência conceitual – uma companhia, um trabalho, ou um curso de universidade. Cada entidade tem propriedades particulares, chamadas atributos, que a descrevem. Por exemplo, uma entidade empregado pode ser descrita por nome do empregado, idade, endereço, salário e trabalho. Uma entidade particular terá um valor para cada um desses atributos. Os valores dos atributos que descrevem cada entidade são a maior parte dos dados armazenados no banco de dados. Informalmente, um relacionamento é uma associação de entidades, onde a associação inclui exatamente uma entidade de cada participante no tipo da entidade. Por exemplo, suponha o relacionamento TRABALHA_PARA entre duas entidades EMPREGADO e DEPARTAMENTO, que associa cada empregado ao departamento em que trabalha. Dado que o banco de dados está concluído, existem as pessoas cujo trabalho necessita acessar o banco de dados para busca de informações, atualizações e gerações de relatórios; o banco de dados inicialmente existe para o uso dessa pessoas. Existem várias categorias para usuários finais: • Usuário casual – ocasionalmente acessam o banco de dados, mas eles tem necessidades de informações diferentes a cada acesso. Eles usam uma linguagem sofisticada de busca em banco de dados para especificar seus requisitos e são tipicamente gerentes de nível médio ou alto. • Naive ou usuários paramétricos – São usuários de grande parte do banco de dados. A função principal do seu trabalho faz com que constantemente ele busque e atualize o banco de dados através de transações enlatadas que foram cuidadosamente programadas e testadas. Por exemplo, caixas de banco, reservas aéreas, de hotéis, de aluguéis de carros, etc... • Usuários sofisticados – incluem engenheiros, cientistas, analistas de negócios, e outros que são familiarizados com as facilidades do SGBD e buscam encontrar suas necessidades mais complexas. • Usuários isolados – mantém um banco de dados pessoal utilizando programas empacotados que provê facilidade de uso em menus e interfaces gráficas. Existem várias linguagens que tem sido parcialmente ou completamente implementada e estão disponíveis em SGBDs comerciais. A mais conhecida delas é a SQL, cujo nome é derivado de Structure Query Language. Variações de SQL tem sido implementadas por vários fabricantes, por isso há um esforço de se padronizar o SQL coordenado pelo ANSI (American National Standards Institute) e pela ISO (International Standards Organizations). SQL é uma linguagem compreensiva para banco de dados; ela possui comandos para definição de dados, busca e atualizações. Então, ela é uma LMD e LDD. SQL utiliza os termos tabela, linha, e coluna para relação, tupla e atributo, respectivamente. Os comando de SQL para definição de dados são CREATE, ALTER, e DROP. O comando CREATE TABLE é usado para especificar uma nova relação dando-se seu nome e especificando seus atributos e restrições. Os atributos são especificados primeiro, e a cada atributo é dado um nome, um tipo de dados para especificar seu domínio de valores, e possivelmente algumas restrições. A chave, as restrições de integridade da entidade e referencial são especificadas. Exemplo: CREATE TABLE EMPLOYEE (NAME VARCHAR(15) NOT NULL, MINIT CHAR, LNAME VARCHAR(15) NOT NULL, SSN CHAR(9) NOT NULL, BDATEDATE, ADDRESS VARCHAR(30), SEX CHAR, SALARY DECIMAL(10, 2), SUPERSSN CHAR(9), DNO INT NOT NULL, PRIMARY KEY (SSN), FOREIGN KEY (SUPERSSN) REFERENCES EMPLOYEE (SSN), FOREIGN KEY (DNO) REFERENCES DEPARTAMENT (DNUMBER)); O comando ALTER TABLE pode ser utilizado para alterar a definição de um tabela. As possíveis ações desse comando incluem adicionar ou excluir uma coluna (atributo), alterar a definição de uma coluna, e - 8 – ICA – Lab. Inteligência Computacional Aplicada , DEE, PUC–Rio (Versäo 26/08/99) adicionar ou excluir restrições. Por exemplo, adicionar um atributo para monitorar o trabalho de um empregado. ALTER TABLE EMPLOYEE ADD JOB VARCHAR (12); SQL tem um comando básico para obter informações da base de dados: SELECT. A forma básica do comando SELECT é formada por 3 cláusulas SELECT, FROM, e WHERE e tem a seguinte forma: SELECT <lista de atributos> FROM <lista de tabelas> WHERE <condição>, Onde • <lista de atributos> é uma lista de nomes de atributos cujos valores serão obtidos na query. • <lista de tabelas> é uma lista com os nomes das relações requisitadas para processar a query. • <condição> é a condição necessária para identificar expressões que satisfazem as tuplas da query. Exemplo: SELECT BDATE, ADDRESS FROM EMPLOYEE WHERE FNAME = ´JOHN´ AND LNAME = ´SMITH´ 3 . DATA WAREHOUSE Os bancos de dados e a teoria de banco de dados estão disponíveis há bastante tempo. As primeiras edições de bancos de dados concentravam-se em um único banco de dados que atendia a todos os propósitos conhecidos pela comunidade de informática – do processamento de transações ao processamento batch (lote) e ao processamento analítico. Na maioria dos casos, o enfoque principal dos primeiros sistemas de banco de dados era o processamento operacional – geralmente transacional. Nos últimos anos, surgiu um conceito de banco de dados mais sofisticados – um que atende as necessidades operacionais e outro que atende as necessidades informacionais ou analíticas. Até certo ponto, esse conceito mais evoluído de banco de dados se deve ao advento dos PCs, à tecnologia das linguagens de quarta geração, e ao empowerment do usuário final. A divisão em banco de dados operacionais e informacionais ocorre por várias razões: • Os dados que atendem a necessidades operacionais são fisicamente diferentes dos dados que atendem a necessidades informacionais ou analíticas. • A tecnologia de suporte ao processamento operacional é fundamentalmente, diferente da tecnologia utilizada para prestar suporte a necessidades informacionais ou analíticas. • A comunidade de usuários dos dados operacionais é diferente da que é atendida pelos dados informacionais ou analíticos. • As características de processamento do ambiente operacional e do ambiente informacional são, fundamentalmente diferentes. Por essas razões (e por muitas outras!), a maneira moderna de construir sistemas consiste em separar o processamento e os dados operacionais dos informacionais ou analíticos. Pode-se definir que o processamento informacional ou analítico é o processamento que atende às necessidades dos gerentes durante o processo de tomada de decisões. Geralmente conhecido como SAD – sistemas de apoio à decisão, o processamento analítico examina amplos espectros de dados para detectar tendências. Em vez de considerar um ou dois registros de dados (como ocorre no processamento operacional), quando o analista de SAD executa um processamento analítico, muitos registros são acessados. Além disso, o analista de SAD muito raramente atualiza dados. Nos dados operacionais, os dados estão constantemente sendo atualizados no nível de registro individual. No processamento analítico, os registros estão constantemente sendo acessados, e seus conteúdos são agrupados para análise, mas ocorre pouca ou nenhuma alteração dos registros individuais. No processamento analítico, os requisitos de tempo de resposta são muito atenuados em comparação com o do tradicional processamento operacional. O tempo de resposta analítico alcança de 30 minutos a 24 horas. Para o processamento operacional, tempos de resposta inseridos nessa escala significariam um absoluto desastre. A rede que atende a comunidade analítica é muito menor do que a que atende à comunidade operacional. Normalmente, há muito menos usuários da rede analítica do que da rede operacional. Ao contrário da tecnologia que dá suporte ao ambiente analítico, a tecnologia voltada para o ambiente operacional deve tratar do bloqueio de dados e transações, disputa de dados, deadlock, e assim por diante. - 9 – ICA – Lab. Inteligência Computacional Aplicada , DEE, PUC–Rio (Versäo 26/08/99) Há portanto, muitas diferenças importantes entre o ambiente operacional e o ambiente analítico. Aqui é dado enfoque ao processamento analítico com as seguintes questões: • Granularidade dos dados • Particionamento dos dados • Metadados • Falta de credibilidade dos dados • Integração dos dados do SAD • Parâmetros de tempo dos dados do SAD • Identificação da fonte dos dados do SAD – o sistema de registro • Migração e tecnologia O Data Warehouse é o alicerce do processamento dos SADs. Em virtude de haver uma fonte única de dados integrados no DW, e uma vez que os dados apresentam condições de acesso, a tarefa do analista de SAD no ambiente de DW é incomensuravelmente mais fácil do que no ambiente clássico. Um DW é um conjunto de dados baseado em assuntos, integrado, não-volátil, e variável em relação ao tempo, de apoio às decisões gerenciais. Os sistemas operacionais clássicos são organizados em torno das aplicações da empresa. No caso de uma companhia de seguros, as aplicações podem ser automóvel, saúde, vida e perdas. Os principais assuntos ou negócios da empresa podem ser cliente, apólice, prêmio e indenização. A segunda característica marcante do DW é que ele é integrado. A integração ocorre quando os dados passam do ambiente operacional baseado em aplicações para o data warehouse. O processo de introdução dos dados no DW é feita de modo que as muitas inconsistências da aplicações sejam desfeitas. As considerações sobre inconsistências são válidas para todas as questões de projeto de aplicações, como as convenções de atribuição de nomes, estruturas de chaves, unidades de medidas de atributos e características físicas dos dados. A terceira característica importante de um DW consiste em que ele é não-volátil. No ambiente operacional, os dados sofrem atualizações. Contudo, os dados existentes no data warehouse apresentam um conjunto de características muito diferentes. Os dados do DW são carregados (normalmente em grandes quantidades) e acessados. Mas a atualização dos dados (geralmente) não ocorre no ambiente de data warehouse. A última característica significativa do DW diz respeito ao fato de ele ser variável em relação ao tempo. • O horizonte de tempo válido para o DW é significantemente maior do que o dos sistemas operacionais. Um horizonte de tempo de 60 a 90 dias é normal para os sistemas operacionais; um horizonte de tempo de 5 a 10 anos é normal para o DW. • Bancos de dados operacionais contêm dados de valor corrente – dados cuja exatidão é válida para o momento de acesso. Assim sendo, dados de valor corrente podem ser atualizados. Dados existentes no DW não passam de uma série sofisticada de instantâneos, capturados num determinado momento. • A estrutura de chaves dos dados operacionais pode conter, ou não, elementos de tempo, como ano, mês, dia, etc. A estrutura de chave do DW sempre contém algum elemento de tempo. Na estrutura do DW pode-se notar um nível de detalhe mais antigo (geralmente residente em um armazenamento alternativo, de massa), um nível corrente de detalhe, um nível de dados levemente resumidos e um nível de dados altamente resumidos. Os dados fluem do ambiente operacional para o DW. Na passagem do nível operacional pare o nível do DW, geralmente ocorre uma quantidade significativa de transformações de dados. O DW baseia-se nos principais assuntos ou negócios de interesse da empresa que tenham sido definidos no modelo de dados. Entre as tradicionais áreas de interesse incluem-se: Cliente, produto, transação ou atividade, apólice, indenização, conta, etc. A principal área de interesse termina sendo fisicamente implementada como uma série de tabelas relacionadas inseridas no DW. Dados que apresentam alta probabilidade de acesso e baixo volume de armazenamento residem em um meio rápido e relativamente caro. Dados que apresentam baixa probabilidade de acesso e grande volume de armazenamento residem em um meio menos dispendioso e de acesso mais lento. O mais importante aspecto do projeto de um DW é a questão da granularidade. A granularidade diz respeito ao nível de detalhe ou de resumo contido nas unidades de dados existentes no DW. Quanto mais detalhe, mais baixo o nível de granularidade. Quanto melhor detalhe, mais alto o nível de granularidade. A granularidade de dados tem se mantido como uma questão delicada de projeto. Nos primeiros sistemas operacionais que foram criados, a granularidade era tido como certa. Quando os dados detalhados eram atualizados, era quase certo que eles seriam armazenados no nível mais baixo de granularidade. No entanto, no ambiente de DW, a granularidade não é um pressuposto. - 10 – ICA – Lab. Inteligência Computacional Aplicada , DEE, PUC–Rio (Versäo 26/08/99)

Description:
sejam criadas, pode-se aplicar um algoritmo de classificação nessas classes, produzindo assim regras para as Funções Matemáticas, Otimização Combinatorial, Otimização de Planejamento, Problema do Caixeiro Viajante, Genetic Algorithms in Search, Optimization, and Machine Learning.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.