Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 02 Business Intelligence para Concursos - Curso Regular Professor: Thiago Rodrigues Cavalcanti Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 1 de 58 AULA 02: OLAP E DATA MINING Sumário 1. Recuperação de dados ................................................................................................... 1 OLAP ...................................................................................................................................................... 1 2. Conceitos básicos ............................................................................................................. 2 3. OLAP x OLTP ....................................................................................................................... 2 4. Operações OLAP ................................................................................................................ 4 5. Arquitetura de servidores OLAP ................................................................................ 10 6. Critérios de avaliação de produtos OLAP .............................................................. 14 Data mining ...................................................................................................................................... 16 7. Conceitos básicos ........................................................................................................... 16 7.1. Processo de mineração ............................................................................................ 18 7.2. Tarefas de mineração ............................................................................................... 22 7.2.1. Regras de associação ............................................................................................ 22 7.2.2. Classificação ............................................................................................................. 24 7.2.3. Agrupamento (Clustering) .................................................................................. 26 7.2.4. Abordagem para outros problemas de mineração .................................... 27 7.3. Conceitos Complementares .................................................................................... 28 Visualização e análise exploratória de dados ...................................................................... 30 Questões ........................................................................................................................................ 32 Questões extras .......................................................................................................................... 45 Considerações Finais ..................................................................................................................... 58 1. Recuperação de dados Nesta aula, nosso objetivo é apresentar as diferentes técnicas e ferramentas que fazem acesso ao Data Warehouse (DW). É preciso entender que cada uma delas atende a uma necessidade específica de usuários e clientes. Vamos mostrar como recuperar as informações e como visualizar esses dados após a execução de diferentes algoritmos ou consultas sobre o DW. Dividimos nossa aula em quatro partes. Falaremos de OLAP ou processamento analítico on-line, data mining ou mineração de dados e, em seguida, mostraremos as possibilidades de visualização por meio dos painéis e dashboards. OLAP O termo On-Line Analitical Processing – OLAP foi proposto por E.F. Codd, o pai do modelo relacional. O modelo relacional põe os dados em tabelas, enquanto o OLAP usa a representação de arrays multidimensionais. Essa representação de dados já existia previamente na estatística e em outras áreas. Existe um grande número de operações de analise de dados e exploração de 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 2 de 58 dados que são facilitadas como esse modelo de representação. Vamos entender o conceito por trás desse modelo. 2. Conceitos básicos Começamos tentando responder a uma pergunta básica: O que é OLAP? Trata-se de um processamento de dados dedicado ao suporte a decisão. Essa analise é feita por meio da visualização de dados agregados ao longo de várias dimensões analíticas do modelo de dados dimensional (ex.: tempo, espaço, categoria de produto, quantidade vendida, preço). Esse processamento é feito sobre dados armazenados em Banco de Dados especializadas. Eles seguem um modelo lógico de dados multidimensional e são chamados de Data Warehouse, Data Mart ou BD multidimensionais. Falamos sobre eles na aula anterior. Sabemos inclusive que os dados são estruturados de forma hierarquizada em diferentes níveis de granularidade. Outra definição possível para OLAP seria um recurso que permite manipular e analisar grandes volumes de dados sobe múltiplas perspectivas. Ou ainda, um software que permite ao usuário interagir com um grande banco de dados on-line (data warehouse) e solicitar e receber praticamente qualquer relatório no formato desejado. Partindo dos três conceitos vistos até agora, passaremos para uma sistematização do conhecimento dentro do assunto. Os conceitos de OLAP, mais precisamente quando tratamos de questões para concursos, podem ser classificados da seguinte forma: 1. OLAP x OLTP, 2. Operações OLAP e 3. Taxonomias de servidores OLAP. 3. OLAP x OLTP On-Line Analytical Processing (OLAP) é muito diferente do tradicional On- Line Transaction Processing (OLTP). Quando utilizamos OLTP, o foco é sobre as transações individuais. Considere, por exemplo, um sistema OLTP simples usado por um vendedor de livros para manter a par dos livros em estoque. Quando uma cópia de um determinado livro B é vendida, o sistema diminui o número que mostra quantas cópias de B estão em estoque. Da mesma forma, o número é aumenta quando mais cópias são entregues a partir do editor. O sistema só mantém o controle dos dados mais atual, isto é, o que está atualmente no estoque. Detalhes sobre vendas individuais não são armazenados em um formato fácil de analisar. O varejista pode até saber quem é o cliente, mas esta informação não é mantida com a finalidade de análise posterior. O sistema armazena suas informações em um banco de dados relacional que é normalizada para evitar anomalias de atualização. Este tipo de 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 3 de 58 sistema é conhecido como OLTP. Ele é otimizado para recuperação e/ou atualização de uma pequena quantidade de tuplas. Em contraste, um sistema OLAP para o varejista de livros mantém o controle de cada venda individual. Isso também inclui informações específicas sobre a venda, como a cidade onde a venda ocorreu, a data da venda, o vendedor que vendeu o livro, e informações sobre o banco de dados multidimensional. Ele é usado para o armazenamento de tais dados. Desta forma é mais fácil achar, por exemplo, o livro de receitas mais vendido e o número médio de livros infantis vendidos antes de uma operação de vendas. O OLAP geralmente não apaga nem atualiza seus dados; apenas adições de novos dados ocorrerão no sistema periodicamente. O OLAP é assim otimizado para recuperar (e sumarizar) grandes quantidades de dados. A comparação entre OLAP e OLTP passa por diversos critérios individuais. Cada autor valoriza critérios diferentes, ou seja, se você observar algumas características são comparadas em um livro e não em outro. Vamos começar exibindo uma primeira tabela que faz algumas distinções entre os dois modelos:A ideia fundamental por trás da programação de matriz ou array é de que as operações se aplicam de uma vez para todo um conjunto de valores. Isto o torna um modelo de programação de alto nível, uma vez que permite ao programador pensar e operar sobre os agregados inteiros de dados, sem ter de recorrer às linhas explícitas de operações escalares individuais. A base da programação por array e do seu pensamento é encontrar e explorar as propriedades de dados onde os elementos individuais são semelhantes e/ou adjacente. Ao contrário da orientação a objetos que implicitamente quebra de dados para suas partes constituintes (ou quantidades escalares), a orientação serial olha para um grupo de dados e aplica um tratamento uniforme. 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 4 de 58 A comparação continua com outros autores. Carlos Barbieri faz uso da seguinte lista em seu livro: Resumindo quando pensamos em OLTP temos as seguintes características: Ele é usado para acesso à dados em tempo real, baseado em transação, os dados podem existir em mais do que uma tabela. Eles são otimizados para transações mais rápidas e incluem operações de inserir, atualizar e excluir. Não são construídos para a execução de consultas complexas. Bancos de dados de sistemas Line-of-Business (LOB) e Enterprise-Resource-Planning (ERP) usam este modelo. A ferramenta da Microsoft que gerencia este modelo é o SQL Server Management Studio (SSMS). Segue as regras de normalização de banco de dados (DB) e usa banco de dados relacional. Armazena dados da chave. Usa menos índices e mais junção. E faz consultas de várias tabelas. Quando nosso foco é OLAP temos: O uso de dados on-line ou históricos. Usado para análise e navegação sobre os dados. Os dados podem existir em mais do que uma tabela. Otimizado para desempenho analítico dos dados. Banco de dados apenas de leitura. Construído para executar consultas complexas. Bancos de dados analíticos, como Cognos, a Business Objects, e assim por diante utilizam este modelo. A ferramenta da Microsoft para esse tipo de modelo é o SQL Server Analysis Services (SSAS). Relaxa as regras de normalização de banco de dados. Utiliza banco de dados relacional ou multidimensional. Armazenam dados agregados em relação à chave. Comparado com OLTP usa relativamente mais índices e menos junção. Consulta pode ser executada em menos tabelas. 4. Operações OLAP 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 5 de 58 Passamos agora para as operações OLAP. Conhecida também como funcionalidades. Aqui estão as funções que podem ser aplicadas sobre os dados disponíveis nos cubos ou nos DW. Antes de tratarmos das funções vamos relembrar o conceito de granularidade. A granularidade diz respeito ao nível de detalhe ou de resumo nas unidades de dados no DW. Quanto maior o nível de detalhes, menor o nível de granularidade. O nível de granularidade afeta diretamente o volume de dados armazenado no DW e, ao mesmo tempo, o tipo de consulta que pode ser respondida. OLAP oferece recursos de modelagem analítica, incluindo um mecanismo de cálculo para desvio padrão, variância, entre outros; e processamento de medidas em múltiplas dimensões. Os recursos também permitem gerar sumarizações, agregações e hierarquias em cada nível de granularidade e em cada cruzamento de dimensão. Ele ainda suporta modelos funcionais para previsão, análise de tendências e análise estatística. Neste contexto, um motor OLAP é uma ferramenta poderosa a análise de dados. Que tal darmos uma olhada nas operações de OLAP? Certamente, você já ouviu falar de “Drill Down”, “Drill up”, “Roll up”, “Drill across”, “Pivot”, “Slice and Dice”. Pois bem, que tal detalhar cada uma delas? Em modelos multidimensionais, como próprio nome sugere, os dados são organizados em múltiplas dimensões. Cada uma delas contém múltiplos níveis de abstração. Esses níveis são, ainda, definidos pelo conceito de hierarquia. Essa organização provê ao usuário uma flexibilidade para observar os dados a partir de diferentes perspectivas e em diferentes níveis de detalhe. Graficamente, esses modelos podem ser representados por meio de um cubo. As operações sobre um cubo de dados nos permitem materializar diferentes perspectivas (também conhecidas como visões), permitem consultas e análises interativas sobre dados armazenados. Vamos, então, entender as peculiaridades de cada uma dessas operações de OLAP. Roll-up: também conhecida como drill-up, aplica uma agregação sobre o cubo de dados. Ou ainda, aumentar o nível de granularidade dentro de uma dimensão, reduzindo o detalhamento da informação. É, basicamente, subir na hierarquia. A figura abaixo, retirada do livro Data Mining: Concepts and Techniques[1], mostra o resultado da operação de roll-up aplicada no cubo central subindo na hierarquia de location. Basicamente, essa hierarquia é definida na seguinte ordem: street < city < province_or_state < country. Essa agregação mostra uma ascensão na hierarquia de location do nível de city para o nível de country. Drill-down: É o inverso da operação de roll-up. É uma forma de navegar de um dado com menor nível de detalhe para um dado com maior nível de 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 6 de 58 detalhe. Essa operação pode ser realizada tanto descendo em uma hierarquia de uma dimensão quanto introduzindo dimensões adicionais. A figura abaixo exibe o resultado de uma operação de drill-down sobre o cubo central, basicamente, descendo sobre a hierarquia de tempo (day < month < quater < year). A operação desce do nível de semestre (quater) para mês (month). Outra forma de executar o drill-down seria adicionando uma nova dimensão ao cubo. Por exemplo, imagine, a partir do cubo central, uma operação de drill- down que introduz uma dimensão adicional. Por exemplo, grupo_de_consumidores. Slice and dice: A operação de slice executa uma seleção sobre uma das dimensões de um determinado cubo, resultando em um subcubo. A figura mostra um exemplo da operação de slice que seleciona as vendas por cidade em um determinado semestre (nestre caso, quarter = Q1). A operação de dice define um “subcubo” através de umaseleção sobre duas ou mais dimensões. A figura também mostra uma operação de dice que envolve três dimensões seguindo os seguintes critérios (location = “Toronto” ou “Vancouver” || time = “Q1” ou “Q2” || item = “home entertainment” ou “computer”). Pivot: Também conhecida como rotate ou rotação, é uma operação de visualização que rotaciona os eixos de um determinado cubo, provendo uma visão alternativa dos dados. A figura mostra uma operação de pivot sobre o resultado da operação de slice. Neste caso, observamos uma rotação em duas dimensões. Contudo o mesmo pode ser feito, também, em um cubo 3-D. 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 7 de 58 Até aqui vimos as mais simples operações de OLAP, que podem, inclusive, ser consideradas operações básicas. Contudo, ainda não tratamos das famosas Drill-across e Drill-through. Vamos agora definir cada um deles: Sobre a operação de drill-across encontramos na literatura uma divergência entre os principais autores. Vejam algumas definições abaixo: Drill-across: Executa uma consulta envolvendo mais de uma tabela fato! Essa operação exige queos dois cubos tenham pelo menos uma das dimensões em comum. A ideia é você conseguir consultar as múltiplas tabelas fato e colocar o resultado em um único data set. Esta é a visão de Kimball (você pode ver um exemplo aqui). Para entender como efetuar essa operação, que tal mostrarmos um exemplo prático? Imagine que uma determinada livraria tenha duas formas de venda de produtos: nas suas lojas físicas ou pela Internet. Para cada um desses processos de venda temos um cubo. No primeiro caso o cubo é montado com as hierarquias de livros, tempo e localização geográfica. Na internet, não existe a dimensão geográfica. Desta forma, esta foi substituída pela dimensão cliente. Suponha que um gerente deseja fazer uma consulta para saber qual livro foi o mais vendido nos anos de 2008 e 2009. Para fazer o drill-across, nós atendemos à primeira premissa segundo Kimball: trata-se de uma operação sobre dois cubos. Os dados nos dois cubos são combinados nas dimensões comuns aos mesmos. Nesse caso, livros e tempo. O analista vai, então, utilizar uma medida derivada para somar as vendas dos dois cubos e dessa forma obter o livro com maior quantidade de vendas. Veja que o drill-across abre um novo caminho para que você possa analisar os dados. A figura abaixo ilustra esse exemplo: Drill-across: Significa mudar de uma classificação em uma dimensão para outra em uma dimensão diferente. 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 8 de 58 Drill-across: É uma técnica similar ao drill-down. A diferença é que o drilling ser feito horizontalmente, ao invés de verticalmente. Por exemplo, depois de inicialmente exibir o resultado das vendas anuais, o drill-acrosspode ser usado para exibir as vendas em cada mês. Dentre as definições acima eu ficaria com a primeira. Contudo acho que é importante ver as demais para ter um entendimento mais amplo a respeito do assunto. Vamos agora tratar de drill-through. Drill-through: Essa operação pode se utilizar das facilidades de SQL para, a partir do cubo de dados, penetrar (drill through) até as tabelas relacionais de back-end. Ela visa o entendimento das informações (registros) a partir dos quais o cubo é derivado. Assim, permite a movimentação de um dado, em um determinado nível do cubo para dados de nível operacional. Pode ser usado, por exemplo, se você está tentando determinar a razão de um ponto fora da curva (outlier) dentro do cubo de dados. Drill-Through: As tabelas de drill-through permitem que você exiba, em tempo de consulta, os detalhes dos dados não sumarizados a partir dos quais uma célula de uma tabela ou uma seleção de células é sumarizada. A capacidade de drill-through permite as empresa acesso aos dados que não estão armazenados no servidor OLAP, fazendo-as acessíveis para os usuários finais das aplicações OLAP. Esses dados podem vir tanto do DW quanto das bases transacionais. Drill-Through to Detail Level: Permite uma transição suave de uma base multidimensional e agregada para o nível de detalhamento de registro nas fontes de dados do repositório de DW. Vejam que, ao contrário das definições de drill-across que divergem entre si, as definições de drill-through são complementares. O objetivo, nesse caso, é mergulhar na hierarquia dos dados para observa-los no maior nível de detalhamento, chegando, às vezes, a consultar as bases de dados transacionais que deram origem aos dados agregados do DW. Além das definições de drill-across e drill-throught vistas acima, existe outra bastante difundida na Internet, esta é uma definição equivocada, mas utilizada por algumas bancas, como a FCC. (Espero que isso mude um dia!) Drill-Across: ocorre quando o usuário pula um nível intermediário dentro de uma mesma dimensão. Por exemplo, a dimensão tempo é composta por ano, semestre, trimestre, mês e dia. A operação drill-across é executada quando o usuário passa de ano direto para trimestre ou mês. Por essa definição podemos representar a operação de drill-across conforme a figura abaixo: 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 9 de 58 Drill-Throught: ocorre quando o usuário passa de uma informação contida em uma dimensão para outra. Por exemplo, inicia na dimensão do tempo e no próximo passo analisa a informação por região. Mais uma vez, podemos visualizar essa definição no cubo abaixo. Até aqui falamos das principais operações de OLAP, outras que às vezes aparecem na literatura são listadas abaixo com suas respectivas definições: Drill-within: É a passagem de uma classificação para outra classificação diferente dentro da mesma dimensão. Para entendermos um pouco melhor que os autores quiseram dizer com isso, precisamos voltar ao conceito de hierarquia e classificação. Em uma determinada dimensão é possível que exista diferentes classificações. Vamos pensar em um exemplo de produto. Produto pode ter uma classificação grupo de produto que pode ser dividido em categorias e essas por sua vez divididas em setores. Veja que essa é uma classificação de produto e possui uma hierarquia dentro dela. Contudo a dimensão produto pode ter outras classificações como, por exemplo, marca (Brand), VideoSystem e AudioSistem. A operação de drill- within é basicamente passar de uma classificação para outra dentro da mesma dimensão. Veja a figura a seguir: 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 10 de 58 Rank: Ordena os membros de uma dimensão de acordo com algum critério. Essa operação é basicamente cria um ranking os n maiores ou n menores itens em uma lista, é possível ainda calcular as médias móveis, o crescimento dos índices, a taxa de retorno interno, depreciação e funções estatísticas. Os resultados dessas operações são tipicamente visualizados em uma forma de tabela cruzada (cross-tabular). Nest-unnest: Redução das dimensões. Slipt: Planificação das faces do cubo Push/Pull: Junção de valores Algumas operações podem ser efetuadas entre cubos e que são baseadas na teoria dos conjuntos, são elas: Junção, União, Intersecção e Diferença. Vejamos o exemplo da operação cross-join (produto cartesiano) abaixo: Cross-join – É usado para gerar um produto cartesiano entre os conjuntos passados como parâmetro. 5. Arquitetura de servidores OLAP Logicamente, servidores OLAP apresentam aos usuários de negócio os dados multidimensionais de um Data Mart ou de um Data Warehouse, sem a preocupação de mostrar como e onde os dados são de fato armazenados. Todavia, a arquitetura física e a implementação de servidores OLAP devem considerar aspectos de armazenamento. A implementação de um DW para processamento OLAP pode ser feita das seguintes formas: ROLAP, MOLAP, HOLAP, DOLAP e WOLAP. Vamos agora analisar as peculiaridades de cada uma dessas estruturas. 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 11 de 58 Os dados são transferidos das fontes e copiados dentro do servidor OLAP, lá eles são organizados e preparados para prover dados de consulta de forma rápida. Essa estrutura está dividida nos seguintes componentes: Data Sources. São as fontes que provem dados para serem analisados. Dependendo do produto OLAP pode ser um DW, um banco de dados legado, uma coleção de spreadsheets, ou ainda, uma combinação de todos. A habilidade do produto OLAP em trabalhar com várias fontes diferentesé importante. OLAP Server. Considerado o back-end de um sistema OLAP. É ele que faz todo o trabalho de processamento (dependendo do modelo do sistema), é nele que os dados efetivamente acessados são armazenados. Diferentes filosofias governam a arquitetura dos servidores. Em particular a grandes características de um produto OLAP é se o servidor usa um banco de dados multidimensional ou um banco de dados relacional para armazenar os dados. OLAP Customer. São aqueles que fornecem aplicações de mineração de dados, mas também suportam a geração de resultados (graphs, reports, etc.). A figura abaixo mostra a arquitetura de sistemas OLAP, que variam dependendo da forma como o armazenamento e o processamento de dados ocorrem, mas geralmente podemos identificar três níveis de dados: as fontes de dados, o servidor OLAP e a apresentação dos dados ou usuário interface. Quanto maior a necessidades de cálculos para produzir um conjunto de informação, maior será o tempo de resposta. Pedaços de informação que são frequentemente acessados devem ser pré-agregados. São, portanto, pré- calculados e armazenados como um novo dado dentro da base. Por exemplo: Vendas por mês. Vamos agora analisar cada uma das categorias de servidores OLAP. MOLAP 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 12 de 58 O Multidimensional On-Line Analytical Processing ou MOLAP refere-se aos servidores que usam um MDDB para armazenar dados. Estratégia pela qual são usados gerenciadores de banco de dados proprietários, com características de armazenamento especiais e ferramentas para tratamento dimensional de dados. Esse modelo dispõe de propriedades especiais de armazenamento como matrizes esparsas, operações com array e indexações de bitmap. Porém não oferece toda a gama de recursos encontrada num SGBDR, como debug, paralelismo, log, otimizadores e monitoração. Exige a migração dos dados do SGBD relacional para o armazenamento multidimensional e a sua constante atualização. Pode ser limitada na sua capacidade máxima de armazenamento, mas por ser voltada exclusivamente para essas aplicações pode apresentar, em tese, melhor desempenho do que as alternativas relacionais. Pode ser entendida como uma planilha multidimensional, e algumas oferecem a opção de memória RAM-MD, permitindo a manipulação dos dados diretamente em memória. No caso de MOLAP, tanto as estruturas básicas (maior granularidade) quanto às estruturas agregadas/cubos são armazenadas nesse formato. Um conceito que faz parte dos modelos MOLAP é a explosão dos dados. É difícil determinar condições para a explosão de dados, ou para prever se uma configuração particular vai explodir. Uma abordagem que parece ajudar a resolver o problema é a manipulação de dados esparsos dinamicamente. Manipulação de dados esparsos de forma dinâmica permite que um banco de dados analise seus padrões de armazenamento próprios e aperfeiçoe-os para evitar a explosão de dados. ROLAP O termo ROLAP especifica que o servidor OLAP se baseia numa base de dados relacional: Relational On-Line Analytical Processing. Os dados de origem são inseridos em um banco de dados relacional, geralmente em um esquema estrela ou esquema floco de neve, o que ajuda em tempos de recuperação mais rápidos. O servidor fornece um modelo multidimensional dos dados, através de consultas SQL otimizadas. Um dos motivos para escolher pelo uso do ROLAP está no fato de RDBs são uma tecnologia bem estabelecida que tem muitas oportunidades para otimização. Suporta maior quantidade de dados que uma MDDB. O Servidor ROLAP é um servidor intermediário que fica entra a base de dados relacional de back-end e as ferramentas de front-end. Eles usam SGBDs relacionais ou relacionais estendidos para gravar e gerenciar os dados do DW, e um middleware OLAP para dar suporte às funcionalidades faltantes. 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 13 de 58 Nessa estratégia são usados os próprios sistemas de banco de dados relacionais, com as tabelas sendo implementadas como estruturas relacionais clássicas. Oferece todas as vantagens de um SGBDR, porém exige um projeto cuidadoso do ponto de vista de desempenho, em que o excesso de tabelas normalizadas poderá comprometer a performance das buscas. É importante lembrar-se dos conceitos de esquema estrela e floco de neve discutidos anteriormente. As tabelas básicas e os agregados (visões ou cubos) são armazenados nesse formato. O modelo relacional poderá ser usado tanto para desenhar o projeto físico do data warehouse, considerando a abordagem top-down, em que o DW será construído primeiramente, a partir dos arquivos fontes, quanto na abordagem de data marts integrados, em que os data marts, na forma ROLAP são estruturados. Resumindo os pontos positivos e negativos do uso da abordagem relacional em sistemas OLAP: Antes de falarmos sobre as outras classificações de servidores OLAP, vejam na figura abaixo uma comparação entre os dois tipos de servidores: MOLAP e ROLAP. 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 14 de 58 HOLAP e DOLAP O Hybrid OLAP Server representa uma abordagem de uso misto das duas estratégias anteriores, em que as estruturas relacionais são normalmente utilizadas para os dados de menor granularidade e as estruturas dimensionais nativas são dedicadas ao armazenamento de agregados (maior granularidade). O Desktop Olap Server representa uma abordagem na qual as estruturas dimensionais ou relacionais são transferidas do DW/DM para as estações cliente. São armazenadas com o objetivo de facilitar o desempenho de certas análises, minimizando o tráfego de informações entre o ambiente cliente e o ambiente servidor. 6. Critérios de avaliação de produtos OLAP Uma estrutura arquitetural era necessária dentro da qual as funções poderiam aparecer e se tornariam parte dos produtos habituais do analista de dados ou usuário final. Esta estrutura tornou-se uma medida significativa da eficácia do produto para análise de dados multidimensional em si, e, na verdade, representou o primeiro critério de avaliação de produtos de OLAP. Ela se baseia em 12 regras de avalição que são listadas de descritas de forma sucinta a seguir. 1. Visão conceitual multidimensional – Já falamos sobre a visão multidimensional na aula anterior. De certa forma ela se aproxima da perspectiva que um usuário ou analista tem sobre os dados. Sendo assim, temos que nos preocupas em criamos um modelo com essa estrutura. Ela facilita a execução de operação de Slice and Dice, Pivot and rotate tornando a manipulação dos dados mais simples. 2. Transparência - OLAP deve ser fornecido dentro do contexto de uma verdadeira arquitetura de sistemas aberta, permitindo que a ferramenta analítica possa ser incorporada em qualquer necessidade do analista/usuário, sem afetar negativamente a funcionalidade das ferramentas do host. 3. Acessibilidade - O sistema OLAP deve acessar apenas os dados realmente necessários para realizar a análise solicitada e não tomar a "pia da cozinha" abordagem comum que traz dados desnecessários. 4. Desempenho consistente na geração de relatórios - É imperativo que o componente do servidor de ferramentas OLAP seja suficientemente inteligente de tal forma que vários clientes possam ser conectados com o mínimo de esforço e programação de integração. 5. Arquitetura cliente-servidor - A maioria dos dados que atualmente exigem o processamento analítico on-line é armazenadaem sistemas de 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 15 de 58 mainframe e eles são acessados através de computadores pessoais. Por conseguinte, é obrigatório que os produtos OLAP sejam capazes de funcionar num ambiente cliente-servidor. Para este fim, é imperativo que o componente servidor das ferramentas OLAP seja suficientemente inteligente de tal forma que vários clientes possam ser conectados com o mínimo esforço e programação de integração. 6. Dimensionalidade genérica - Cada dimensão dos dados deve ser equivalente em suas estruturas e capacidades operacionais. Capacidades operacionais adicionais podem ser concedidas a dimensões selecionadas, mas desde que as dimensões sejam simétricas, uma determinada função adicional pode ser concedida a qualquer dimensão. A estrutura básica de dados, fórmulas e formatos de relatórios não deve ser inclinada para uma dimensão específica dos dados. 7. Manuseio dinâmico de matriz esparsa - Esta é disponibilizada através de uma tecnologia de servidor poderosa que pode ser intimamente ligada com o banco de dados da empresa. Ela pode ajustar o seu esquema físico para o máximo desempenho com base na densidade dos dados de entrada da empresa e na distribuição real dos valores dos dados. 8. Suporte a multiusuários - Esta função é fornecida pelo produto de software, mas pode ser limitada pelo número de clientes que podem ser suportados pela plataforma de hardware do servidor. Além disso, ela permite o acesso multiusuário para um modelo analítico comum e controla o acesso e permissões para o nível de células individuais através de uma "concessão" e "revogar" de esquemas baseada nos menus. 9. Operações irrestritas de cruzamento de dimensões - Quaisquer duas (ou mais) células, independentemente da dimensão em que aparecem dentro de um determinado modelo de análise, podem ser utilizadas em qualquer fórmula. As fórmulas não estão restritas a uma dimensão por vez. Qualquer termo em uma fórmula pode ser ainda modificado através da inclusão de atributos a partir de qualquer dimensão. Em outras palavras, qualquer célula de dados ou intervalo no modelo de dados pode ser acessada por meio de cálculos em qualquer momento. 10. Manipulação de dados intuitiva - A maior parte de toda a criação do modelo, manipulação e tarefas de animação ocorrem por meio de cliques no mouse diretamente associados com os dados em análise. 11. Relatório flexível – relata que capacidade vai significativamente além dos front-ends disponíveis para os produtos de RDBMS comerciais. Consultas e relatórios que normalmente requerem SQL significativos e sofisticados (e esforço de codificação processual talvez associado) podem ser criados facilmente com e processados significativamente mais rápido. Analistas são capazes de apresentar 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 16 de 58 dados em qualquer formato, de acordo com qualquer trajetória de consolidação, abrangendo qualquer número de dimensões de dados. 12. Dimensões e agregação de níveis ilimitados - Permite a especificação e manipulação de um número ilimitado de dimensões de dados dentro de um determinado modelo. Data mining Existe geralmente informação “escondida” nos dados que não são tão evidentes no momento da leitura. Um analista humano pode levar semanas para descobrir essa informação útil. A maioria dos dados de fato nunca é analisada. Com o crescimento da capacidade de processamento e armazenamento surgem perguntas sobre como identificar padrões (“X” acontece se...), exceções (isto é diferente de... por causa de...), tendências (ao longo do tempo, “Y” deve acontecer...) e correlações (se “M” acontece, “N” também deve acontecer). Para ajudar a resolver esses questionamentos surge um conjunto de conceitos relacionados à Data Mining. Veremos a estrutura teórica da matéria nesta parte da aula. Vem comigo! 7. Conceitos básicos Começamos os conceitos tentando responder ao seguinte questionamento: O que é mineração de dados? Vários autores propuseram definições semelhantes para o termo, vejamos algumas delas: • Eduardo Gimenes: É o processo de extrair informação válida, previamente desconhecida e de máxima abrangência a partir de grandes bases de dados, usando-as para efetuar de decisões cruciais. • Laudon&Laudon: Análise de grandes quantidades de dados a fim de encontrar padrões e regras que possam ser usadas para orientar a tomada de decisões e prever o comportamento futuro. • Mineração de dados, ou data mining, é o processo de análise de conjuntos de dados que tem por objetivo a descoberta de padrões interessantes e que possam representar informações úteis. Como o nome indica data mining se refere à mineração ou a descoberta de novas informações em função de padrões ou regras em grandes quantidades de dados. Para ser útil, na prática, a mineração de dados precisa ser realizada eficientemente em grandes arquivos e banco de dados. Vejamos outras definições possíveis para o termo. “A mineração de dados é a aplicação de algoritmos específicos para extração de padrões a partir dos 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 17 de 58 dados” de FAYYAD. “A mineração de dados se refere à extração, ou mineração, de conhecimento a partir de grandes quantidades de dados” de HAN e KAMBER. As técnicas tradicionais poderiam não se ajustar a enorme quantidade de dados, alta dimensionalidade dos dados e heterogeneidade e natureza distribuídas dos dados. Data Mining surge para completar essa lacuna. Sua base teórica é uma mistura de diferentes disciplinas: Estatística, Aprendizado de máquina, Banco de dados e Visualização. Ok! Então, antes de começarmos a descrever o que mais faz parte da mineração de dados, vamos tratar do que alguns autores conhecem como falácias de Data Mining. São basicamente quatros: • Data Mining é automático: é um processo, é iterativo, requer supervisão. • Investimentos são recuperados rapidamente: depende de muitos fatores! • Software são intuitivos e simples: é mais importante conhecer os conceitos dos algoritmos e o negócio em si! • Data Mining pode identificar problemas no negocio: DM pode encontrar padrões e fenômenos, identificar causa deve ser feito por especialistas. Podemos concluir então que existe um processo iterativo, que requer supervisão e depende de vários fatores para uma implementação de sucesso. É importante entender os algoritmos, as tarefas e o negócio. Assim, é possível encontrar os padrões e fenômenos sobre a massa de dados. O uso da mineração de dados é, portanto, potencializada, por alguns fatores: o volume de dados disponível atualmente é enorme, o fato dos dados estarem mais organizados, os recursos computacionais estão cada vez mais potentes, a competição empresarial exige técnicas mais modernas de decisão e os programas comerciais de mineração de dados já podem ser adquiridos. Para executarmos qualquer análise sobre os dados é necessário que tenhamos em mente qual a tarefa que estamos realizando. Uma tarefa de mineração de dados consiste na especificação do que queremos buscar nos dados. Podemos buscar por algum tipo de regularidade ou categoria de padrões temos interesse em encontrar ou ainda padrões que poderiam nos surpreender (por exemplo, um gasto exagerado de um cliente de cartão de crédito, fora dos padrões usuais de seus gastos). A classificação das tarefas pode ser feita de acordo com alguns critérios. O primeiro divide as tarefas emdescritivas e preditivas. As descritivas 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 18 de 58 caracterizam as propriedades gerais dos dados em um banco de dados. Estão focadas em achar padrões reconhecidos por seres humanos para descrever os dados. As preditivas, por outro lado, realizam uma inferência sobre os dados atuais para fazer previsões futuras sobre os mesmos. Usa variáveis para prever valores futuros ou desconhecidos de outras variáveis. Outra taxonomia divide as tarefas em top-down e botton-up. Algumas tarefas são abordadas de forma top-down chamado teste de hipóteses. Em testes de hipóteses, um comportamento armazenado no banco de dados passado é utilizado para verificar ou refutar notações preconcebidas, ideias e palpites referentes às relações nos dados. Outras tarefas são melhor abordadas de forma bottom-up chamado de descoberta de conhecimento (Knowledge discorvery). Na descoberta de conhecimento a analise sobre os dados é feita sem suposições prévias. Os dados são autorizados a falar por si. As tarefas adequadas para mineração de dados (não é limitado a essas) são: Classificação (Preditiva), Clustering (Descritiva), Regra de Associação (Descritiva), Regressão (Preditiva) e Detecção de desvios (Preditiva). Outro ponto importante dentro do assunto são as técnicas de mineração que consistem na especificação de métodos que nos garantam como descobrir os padrões que nos interessam. Dentre as principais técnicas utilizadas em mineração de dados, temos: técnicas estatísticas, técnicas de aprendizado de máquina e técnicas baseadas em crescimento-poda-validação. Por fim, temos três características que são aplicadas a muitos conjuntos de dados e que possuem um impacto significativo sobre as técnicas de mineração de dados: dimensão, dispersão e resolução. A dimensão refere- se à quantidade de atributos de um conjunto de dados. A resolução está relacionada à granularidade dos dados. Um conjunto de dados é muito disperso quando para um atributo relevante, a maioria dos valores é NULL ou um valor padrão. Esse conceito está relacionado à dispersão. Um último conceito que já foi cobrado em provas de concurso diz respeito aos métodos para identificar padrões em dados, que são basicamente três: - Modelos simples (consultas baseadas em SQL, OLAP, raciocínio humano) - Modelos intermediários (regressão, árvores de decisão, agrupamento) - Modelos complexos (redes neurais, indução de regras) 7.1. Processo de mineração 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 19 de 58 Antes de falar do processo de mineração propriamente dito vamos examinar a figura abaixo que trata do processo de BI. Baseado na figura é possível listar as etapas do processo: 1. Limpeza dos dados: etapa onde são eliminados ruídos e dados inconsistentes. 2. Integração dos dados: etapa onde diferentes fontes de dados podem ser combinadas produzindo um único repositório de dados. 3. Seleção: etapa onde são selecionados os atributos que interessam ao usuário. Por exemplo, o usuário pode decidir que informações como endereço e telefone não são de relevantes para decidir se um cliente é um bom comprador ou não. 4. Transformação dos dados: etapa onde os dados são transformados num formato apropriado para aplicação de algoritmos de mineração (por exemplo, através de operações de agregação). 5. Mineração: etapa essencial do processo consistindo na aplicação de técnicas inteligentes a fim de se extrair os padrões de interesse. O processo de mineração de dados se assemelha um pouco ao processo de BI descrito acima. Propõe uma visão geral do ciclo de vida de um projeto de mineração de dados. Vejam a figura abaixo: 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 20 de 58 Em 1996, um conjunto de três empresas especializadas no então jovem e imaturo mercado de data mining, desenvolveram um modelo de processos genéricos, com o intuito de padronizar as etapas do processo de mineração de dados, dando início ao denominado projeto CRISP-DM (CRoss Industry Standard Process for Data Mining) [The CRISP-DM Consortium, 2000]. Na figura acima é mostrado o ciclo de vida de um projeto de mineração de dados, que consiste de seis fases. A sequência de fases não é obrigatória, ocorrendo a transição para diferentes fases, dependendo do resultado de cada fase, e que etapa particular de cada fase precisa ser executada em seguida. As setas indicam as mais importantes e mais frequentes dependências entre as fases. O ciclo externo na figura simboliza o ciclo natural da mineração de dados. Um processo de mineração de dados continua após a solução ter sido desenvolvida. As lições aprendidas durante o processo podem provocar perguntas novas, frequentemente mais pertinentes ao negócio. Processos subsequentes se beneficiarão das experiências de processos anteriores. O entendimento do negócio (Business Understanding) foca no entendimento do negócio que visa obter conhecimento sobre os objetivos do negócio e seus requisitos. Uma vez definido o domínio sobre o qual se pretende executar o processo de descoberta, o próximo passo é selecionar e coletar o conjunto de dados ou variáveis necessárias. Consiste no entendimento dos dados utilizando-se de conjuntos de dados "modelo". Essa fase se inicia com uma coleta inicial de dados, e com procedimentos e atividades visando à familiarização com os dados, para identificar possíveis problemas de qualidade, ou detectar subconjuntos interessantes para formar hipóteses. 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 21 de 58 A próxima etapa é a limpeza dos dados (Data Preparation) que consiste na preparação dos dados que visa à limpeza, transformação, integração e formatação dos dados da etapa anterior. É a atividade pela qual os ruídos, dados estranhos ou inconsistentes são tratados. Esta fase abrange todas as atividades para construir o conjunto de dados final (dados que serão alimentados nas ferramentas de mineração), a partir do conjunto de dados inicial. A utilização de Data Warehouses facilita em muito esta etapa do processo de mineração de dados, que costuma ser a fase que exige mais esforço, correspondendo geralmente a mais de 50% do trabalho. Por isso, é muito importante para uma organização, que ela possua em seus processos habituais boas práticas da administração de dados, como o Data Cleansing, que é uma parte fundamental da cadeia da administração da informação, responsável pelas etapas de detecção, validação e correção de erros em bases de dados. A próxima fase é a Modelagem dos Dados (Modeling). Nessa fase, várias técnicas de modelagem são selecionadas e aplicadas, e seus parâmetros são calibrados para se obter valores otimizados. Geralmente, existem várias técnicas para o mesmo tipo de problema de mineração. Algumas técnicas possuem requerimentos específicos na forma dos dados. Consequentemente, voltar para a etapa de preparação de dados é frequentemente necessário. A maioria das técnicas de mineração de dados é baseada em conceitos de aprendizagem de máquina, reconhecimento de padrões, estatística. Seguindo o fluxo temos a Avaliação do processo (Evaluation). Neste momento visamos garantir que o modelo gerado atenda às expectativas da organização. Os resultados do processo de descoberta do conhecimentopodem ser mostrados de diversas formas. Porém, estas formas devem possibilitar uma análise criteriosa para identificar a necessidade de retornar a qualquer um dos estágios anteriores do processo de mineração. Nesta etapa se construiu um modelo que parece de alta qualidade, de uma perspectiva da análise de dados. Antes de prosseguir, é importante avaliar mais detalhadamente o modelo, e rever as etapas executadas para construir o modelo, para se certificar de que ele conseguirá alcançar os objetivos de negócio. Deve se determinar se houve algum importante objetivo do negócio que não foi suficientemente alcançado. No fim desta fase, uma decisão sobre o uso dos resultados da mineração deve ser tomada. A execução (Deployment) consiste na definição das fases de implantação do projeto de Mineração de Dados. A criação do modelo não é o fim do projeto. 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 22 de 58 Mesmo se a finalidade do modelo for apenas aumentar o conhecimento dos dados, o conhecimento ganho necessitará ser organizado e apresentado em uma maneira que o cliente possa usar. Dependendo das exigências, a fase de execução pode ser tão simples quanto a geração de um relatório, ou tão complexo quanto executar processos de mineração de dados repetidamente. Em muitos casos será o cliente, não o analista dos dados, que realizará as etapas da execução. Entretanto, mesmo se o analista não se encarregar da execução é importante que ele faça o cliente compreender que medidas deverão ser tomadas a fim de empregar efetivamente os modelos criados. Com isso terminamos nossa rápida explicação sobre o processo de mineração de dado descrito pelo CRISP-DM. Vamos agora tratar das tarefas de mineração. 7.2. Tarefas de mineração Vamos falar agora das tarefas de mineração começando pela regra de associação. 7.2.1. Regras de associação As regras de associação relacionam a presença de um conjunto de itens com outra faixa de valores de outro conjunto de variáveis. Podemos pensar nos seguintes exemplos: 1. Quando uma mulher compra uma bolsa em uma loja, ela está propensa a comprar sapatos (na mesma loja) e 2. Uma imagem de raio X contendo as características a e b provavelmente exibirá também a característica c (o mesmo raio-x). Veja as figuras abaixo que ilustram esses exemplos: Uma regra de associação é um padrão da forma X Y, onde X e Y são conjuntos de valores. O seguinte padrão “clientes que compram pão também compram leite” representa uma regra de associação que reflete um padrão de comportamento dos clientes do supermercado. Descobrir regras de associação 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 23 de 58 entre produtos comprados por clientes numa mesma compra pode ser útil para melhorar a organização das prateleiras, facilitar (ou dificultar) as compras do usuário ou induzi-lo a comprar mais. Os autores definem os conceitos de lado da mão direita e lado da mão esquerda para ilustrar essa ideia de compra casada. É como se eu estivesse propenso a consumir os dois produtos. A união entre o lado da mão esquerda e o lado da mão direita gera outra definição conhecida como conjunto-item (o conjunto de todos os itens comprados pelos clientes). Observe a figura abaixo com o conjunto-item formado por picanha (Friboi é claro!) e carvão! Para que uma regra de associação seja do interesse de um pesquisador de dados, a regra precisa satisfazer algumas medidas. O suporte que define quão frequente a regra acontece no banco de dados e a confiança que é a força da regra. Vamos detalhar um pouco mais essas definições. O Suporte é uma medida objetiva para avaliar o interesse de uma regra de associação. Representa a porcentagem de transações (%) de um banco de dados de transações onde a regra se verifica. A Confiança é outra medida objetiva para regras de associação que mede o grau de certeza de uma associação. Em termos estatísticos, trata-se simplesmente da probabilidade condicional P (Y | X), isto é, a porcentagem de transações contendo os itens de X que também contém os itens de Y. O problema de regras de associação pode ser decomposto em três passos principais: 1. Gerar todas as combinações de itens; 2. Descobrir conjuntos de itens: Este passo consiste em gerar um conjunto com todas as combinações de itens obedecendo a um limiar, chamado suporte mínimo. As combinações que satisfazem esta condição são chamadas de conjunto de itens grandes, enquanto que os que não satisfazem, são chamados de conjunto de itens pequenos; 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 24 de 58 3. Gerar as regras de associação para a base de dados: Após o conjunto de itens finais ter sido produzido, deve-se gerar as regras de associação de um conjunto de itens Y = I1,I2,,...,Ik, sendo k ≥ 2. O antecedente da regra será um conjunto X de Y tal que, X possua k-1 itens, e o consequente seja Y – X. Para verificar a validade de uma regra, a confiança da regra (suporte(Y) / suporte(X)) deve satisfazer o valor mínimo de confiança informado. Uma pergunta pode ser relevante neste momento: como descobri todos os conjuntos de itens grandes? Temos que verificar duas propriedades: 1. Fechamento por baixo, ou seja, um itemset grande também deve ser grande (desta forma cada subconjunto de um itemset excede o suporte mínimo exigido). 2. Antimonotonicidade um superconjunto de um itemset pequeno também é pequeno (implicando que ele não tem suporte suficiente). Sendo assim quando se descobre um itemset pequeno, então qualquer extensão deste itemset será pequeno. 7.2.2. Classificação Parece ser um imperativo humano. A fim de compreender e comunicar sobre o mundo que estamos constantemente a classificar, categorizar e classificar. Dividimos as coisas vivas em filos, espécies e gênero; matéria em elementos; cães em raças, as pessoas em raças. Os objetos a serem classificados são geralmente representados por registros em um banco de dados ou um arquivo, e o ato de classificação consiste em adicionar uma nova coluna com um código de classe de algum tipo. Uma das tarefas mais comuns dentro de mineração de dados. Consiste em examinar as características de um objeto recém apresentados e atribuí-lo a um dos conjuntos predefinidos de classes. A tarefa de classificação é caracterizada por uma definição das classes (1), e conjunto dados para aprendizado (2) pré-classificados. Uma definição mais formal para a classificação é a tarefa de aprendizado de uma função alvo f que mapeia cada atributo de um conjunto x para um rótulo de classe predefinido y. Essa descrição foi dada por Tan em seu livro de mineração e pode ser observada na figura abaixo: O modelo construído baseia-se na análise prévia de um conjunto de dados de amostragem ou dados de treinamento, contendo objetos corretamente 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 25 de 58 classificados. Por exemplo, suponha que o gerente do supermercado está interessado em descobrir que tipo de características classificam seus clientes em “bom comprador” ou “mau comprador”. Um modelo de classificação poderia incluir a seguinte regra: “Clientes da faixa econômica B, com idade entre 50 e 60 são maus compradores”. São técnicas usualmente empregadas em tarefas de classificação árvores de decisão eredes neurais. Boa parte dos métodos de classificação utilizam técnicas estatísticas e de aprendizado de máquina. Segundo o Navathe, classificação é o processo de encontrar um conjunto de modelos (funções) que descrevem e distinguem classes ou conceitos. Tem o propósito de utilizar o modelo para predizer a classe de objetos que ainda não foram classificados. Utiliza um aprendizado supervisionado para separa classes em grupos distintos. Vejam um exemplo na figura abaixo: Na classificação o objetivo é a construção de um modelo que possa ser aplicado a dados não classificados e classificá-los. São exemplos de tarefas de classificação que foram abordados através de técnicas de mineração de dados: classificação de pedido de crédito como baixo, médio ou alto risco, escolher conteúdo a ser exibido em uma página Web, determinar quais os números de telefone correspondem a máquinas de fax, descobrir sinistros fraudulentos e atribuir códigos da indústria e denominações de emprego com base nas descrições de texto livre. Em todos os exemplos, há um número limitado de classes, e espera- se ser capaz de atribuir qualquer registo em um ou outra. As árvores de decisão e técnicas semelhantes são bem adaptadas para a classificação. Rede neural e análise de links também são úteis para a classificação de certas circunstâncias. Vejam na figura a seguir um fluxo que mostra o funcionamento de um algoritmo de classificação: 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 26 de 58 7.2.3. Agrupamento (Clustering) Diferentemente da classificação e predição onde os dados de treinamento estão devidamente classificados e as etiquetas das classes são conhecidas, a análise de clusters trabalha sobre dados onde as etiquetas das classes não estão definidas. A técnica consiste em identificar agrupamentos de objetos, estes que identificam uma classe. Trabalha sobre dados onde as etiquetas das classes não estão definidas. Conhecido também por aprendizado não supervisionado e, às vezes, chamado de classificação por estatísticos e de segmentação por pessoas de marketing. Queremos achar grupos naturais nos dados onde dados em um mesmo grupo são semelhantes entre si e dados de grupos diferentes são diferentes entre si. Mas como medir essa semelhança. Existem algumas métricas para calcular as distâncias e dissimilaridades entre os itens de dados. As medidas de distância podem ser calculadas entre dois objetos. Sejam O1 e O2 dois objetos de um universo de possíveis objetos. A distância (dissimilaridade) entre O1 e O2 é um número real denotado por D (O1,O2). Observem a figura abaixo para entender melhor o conceito: 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 27 de 58 Algumas propriedades podem ser analisadas nas medidas de distância. A simetria (D (A,B) = D (B,A)), caso contrário você poderia afirmar que “Alex parece com Bob, mas Bob não parece com Alex”. A constância de auto simetria (D (A,A) = 0), caso contrário você poderia afirmar que “Alex parece mais com Bob, do que o próprio Bob”. A positividade (D(A,B) = 0 A = B) caso contrário existiriam objetos no seu mundo que são diferentes, mas você não consegue diferenciá-los. E a desigualdade triangular (D (A,B) ≤ D(A,C) + D (B,C)) caso contrário você poderia afirmar que “Alex é parecido com Bob, e Alex é parecido com Carl, mas Bob não se parece com Carl”. Podemos usar alguns tipos de algoritmos para agrupamentos. Algoritmos particionais que objetivam construir diversas partições e avaliá-las com algum critério. Algoritmos hierárquicos que criam uma decomposição hierárquica de um conjunto de objetos utilizando algum critério. Vejam o exemplo abaixo: Por exemplo, poderíamos aplicar análise de clusters sobre o banco de dados de um supermercado a fim de identificar grupos homogêneos de clientes. Clientes residentes em determinados pontos da cidade costumam vir ao supermercado aos domingos. Enquanto clientes residentes em outros pontos da cidade costumam fazer suas compras às segundas-feiras. 7.2.4. Abordagem para outros problemas de mineração Análise de padrões sequenciais - Um padrão sequencial é uma expressão da forma < i1;.....; in >, onde cada i é um conjunto de itens. A ordem em que estão alinhados estes conjuntos reflete a ordem cronológica em que aconteceram os fatos representados por estes conjuntos. Assim, por exemplo, a sequência < {carro}, {pneu, toca-fitas} > representa o padrão “Clientes que compram carro, tempos depois compram pneu e toca-fitas de carro”. Descobrir tais padrões sequenciais em dados temporais pode ser útil em campanhas de marketing, por exemplo. Análise de Padrões em Séries Temporais - O preço de fechamento de uma ação ou de um fundo de investimentos é um evento que ocorre a cada dia 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 28 de 58 da semana para cada fundo ou ação. Sequencias desses valores são exemplos de uma serie temporal. Séries temporais são sequencias de eventos, cada evento pode ser um tipo fixo dado uma transação. Uma série temporal é uma coleção de observações feitas sequencialmente ao longo do tempo. Em séries temporais a ordem dos dados é fundamental. Uma característica muito importante deste tipo de dados é que as observações vizinhas são dependentes e o interesse é analisar e modelar esta dependência. Predição – Consultando o dicionário encontramos a seguinte definição: dizer antecipadamente o que vai acontecer, seja por meio de regras certas, pretensa adivinhação ou conjetura. Em algumas aplicações, o usuário está mais interessado em predizer alguns valores ausentes em seus dados, em vez de descobrir classes de objetos. Isto ocorre, sobretudo, quando os valores que faltam são numéricos. Neste caso, a tarefa de mineração é denominada Predição. Análise de Outliers - Um banco de dados pode conter dados que não apresentam o mesmo comportamento padrão da maioria. Estes dados são denominados outliers (exceções). Muitos métodos de mineração descartam estes outliers como sendo ruído indesejado. Entretanto, em algumas aplicações, tais como detecção de fraudes, estes eventos raros podem ser mais interessantes do que eventos que ocorrem regularmente. Por exemplo, podemos detectar o uso fraudulento de cartões de crédito ao descobrir que certos clientes efetuaram compras de valor extremamente alto, fora de seu padrão habitual de gastos. Veja que você pode descobri fraudes por analise de outleirs ou classificação. No primeiro você conhece o padrão dos dados ou transações comuns ao banco de dados e algo que não se adapte a esse padrão é um ponto fora da curva. No segundo você treina um modelo para que ele reconheça padrões de fraude. Regressão - Regressão é uma aplicação especial da regra de classificação. Se uma regra de classificação é considerada uma função sobre variáveis que as mapeia em uma classe destino, a regra é chamada regressão. Uma aplicação de regressão ocorre quando, em vez de mapear uma tupla de dados de uma relação para uma classe específica, o valor da variável é previsto baseado naquela tupla. Quando: Y = f(x1, x2, ..., xn). Uma função f é linear no domínio das variáveis xi, o processo de derivar f de um dado conjunto de tuplas para <x1, x2, ... Xn, y> é chamado regressão linear. 7.3. Conceitos Complementares 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br29 de 58 Para concluirmos o conteúdo de Data Mining vamos tratar de alguns termos complementares presentes da literatura especializada que ainda não foram vistos ao longo da nossa aula. Alguns autores classificação mineração de dados de acordo com a forma. Essa classificação possui três categorias: Preditivo, Textual e Espacial. Veja a definição de cada um deles abaixo: • Preditivo - A data mining pode mostrar como certos atributos dos dados irão se comportar no futuro • Textual - Processo de obtenção de informação utilizando fontes de dados textuais. Aplicações em classificação automática de textos e busca de agrupamentos. • Espacial - Processo de descoberta de padrões utilizando bancos de dados espaciais populados por mapas. A mineração de dados apoia o conhecimento indutivo, que descobre novas regras e padrões nos dados fornecidos. O conhecimento pode ser representado de muitas formas: 1. Quando não estruturado, pode ser representado por regras ou por lógica proposicional. 2. Em uma forma estruturada, podem ser representados por árvores de decisão, redes semânticas, redes neurais ou hierarquias de classes ou frames. OLAP x Data Mining O termo para processamento analítico on-line representa a característica de trabalhar os dados com operadores dimensionais. OLAP possibilita uma forma múltipla e combinada de análise. Data Mining está mais relacionado com os processos de análise de inferência do que com a análise dimensional de dados. Representa uma forma de busca de informação baseada em algoritmos que objetivam o reconhecimento de padrões escondidos nos dados. Esses padrões não são necessariamente revelados pelas outras abordagens analíticas, como o OLAP. Para finalizar vamos apresentar uma última definição de data mining: “A mineração de dados é um campo interdisciplinar que reúne técnicas de aprendizado de máquina, reconhecimento de padrões, estatísticas, banco de dados e visualização para abordar a questão da extração de informações a partir de grandes bases de dados”. 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 30 de 58 Visualização e análise exploratória de dados Esta é a parte do assunto que permite exibir os resultados de uma análise de dados. A visualização é estudada dentro do contexto procurando entender as diferentes formas de exibição do conteúdo produzido a partir dos dados armazenados. Como é possível exibir os dados? Quem são os interessados? Veremos isso nas próximas linhas. Devido à forma como o cérebro humano processa as informações, é mais rápido para as pessoas compreenderem o significado das diferentes perspectivas sobre os dados quando eles são exibidos em tabelas e/ou gráficos, em vez de debruçado sobre pilhas de folhas de cálculo ou páginas de leitura e de relatórios. Visualização de dados trata da forma de apresentação dos dados em um formato pictórico (por meio de desenhos) ou gráfica. Durante séculos, as pessoas têm dependido de representações visuais, como gráficos e mapas para compreender a informação mais fácil e rapidamente. À medida que mais e mais dados são coletados e analisados, os tomadores de decisão, em todos os níveis, devem utilizar software de visualização de dados que lhes permitam ver os resultados analíticos visualmente. Com essas ferramentas podemos encontrar relevância entre as milhões de variáveis, comunicar conceitos e hipóteses aos outros, e até mesmo, prever o futuro. Visualização interativa – A visualização de dados interativa vai um passo além – fornecendo algo mais do que a exibição de gráficos estáticos e planilhas. Faz uso de computadores e dispositivos móveis para penetrar em tabelas e gráficos visando obter mais detalhes, e de forma interativa (e em tempo real) mudar os dados que você vê ou até como eles são processados. E como é entendida a visualização no contexto de Big Data? Estudos mostram que o cérebro processa imagens 60 mil vezes mais rápido do que texto. A etapa final no seu fluxo de trabalho para análise em Big Data, a visualização de dados analíticos é uma representação visual dos conhecimentos adquiridos. Em alguns softwares, a sua visualização está ligada à sua análise, portanto, a qualquer tempo alterações de dados, são incorporadas a sua visualização que será atualizada automaticamente com os resultados mais novos. A visualização de dados está por toda parte. Desde a criação de uma representação visual com pontos de dados para impressionar potenciais investidores, ao relatório sobre os progressos de um determinado projeto, ou até mesmo a visualização de conceitos para segmentos de clientes, a visualização de dados é uma ferramenta valiosa e aparece no mercado em uma variedade de configurações. 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 31 de 58 As interfaces com os usuários são as ferramentas de visualização que apresentam as informações de uma maneira compreensível aos usuários. Estas podem ser dashboards (fornecem uma visão abrangente e amigável dos indicadores chaves de desempenho e suas tendências e exceções), cubo multidimensional de dados e, até mesmo, realidade virtual. Os Dashboard e Scorecards fornecem displays visuais de informações importantes que são consolidadas e dispostas em uma única tela. Desta forma a informação pode ser digerida em um único olhar e facilmente explorada. Os painéis permitem uma exibição visual que é utilizada para monitorar o desempenho operacional. Os scorecards trazem uma exibição visual que é utilizada para traçar o progresso em relação às metas e objetivos estratégicos e táticos. No dashboard é possível termos um conjunto ou um grupo de visões analíticas relacionado com tabelas de indicadores, relatórios, planilhas, gráficos e demais componentes de análise de informação. É uma coleção de vários itens podendo ser composto por várias páginas ou abas, contendo diversas análises. O essencial para obter um excelente dashboard não está apenas na exposição dos dados, mas em fornecer ao usuário um elevado nível de interação. Abaixo um exemplo de dashboard. Análise exploratória de dados (AED) Em estatística, análise exploratória de dados (AED) é uma abordagem para analisar conjuntos de dados visando resumir as suas principais características, muitas vezes com métodos visuais. Um modelo estatístico pode ser usado ou não, mas principalmente AED serve para observados o que os dados podem nos 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 32 de 58 dizer para além da modelagem formal ou hipótese em testes. Análise exploratória de dados foi promovida por John Tukey para incentivar os estatísticos a explorar os dados e, eventualmente, formular hipóteses que poderiam levar a nova coleta de dados e experimentos. AED é diferente de análise de dados inicial (ADI), que se concentra mais estreitamente na verificação de suposições necessárias para o modelo e as hipóteses, fazendo manipulação de valores faltantes e transformações de variáveis conforme necessário. AED abrange IDA. Segundo Tukey, os objetivos da AED são os seguintes: 1. Sugerir hipóteses sobre as causas dos fenômenos observados. 2. Avaliar os pressupostos sobre os quais a inferência estatística será baseada. 3. Apoiar a seleção de ferramentas e técnicas estatísticas adequadas. 4. Fornecer uma base para uma futura coleta de dados através de pesquisas ou experimentos. Questões Apresentamos abaixo um conjunto de questões sobre o assunto que aprendemos nesta aula. Esperamosque elas ajudem na fixação da matéria. Qualquer dúvida, estamos às ordens! 1. ESAF - 2008 - Cargo: ANALISTA DE FINANÇAS E CONTROLE - Secretaria do Tesouro Nacional - STN - TECNOLOGIA DA INFORMAÇÃO/ INFRA-ESTRUTURA DE TI 13- Com respeito à mineração de dados, assinale a opção correta, após avaliar as seguintes afirmações: I. A mineração de dados pode ser usada em conjunto com um datawarehouse, para auxiliar tomada de decisão. II. A mineração de dados permite a descoberta de regras de associação entre hierarquias. III. A mineração de dados compreende todo o processo de descoberta de conhecimento em bancos de dados. a) Apenas as afirmações I e II são corretas. b) Apenas as afirmações I e III são corretas. c) Apenas as afirmações II e III são corretas. 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 33 de 58 d) As afirmações I, II e III são corretas. e) As afirmações I, II e III são incorretas. Comentários: Vamos comentar cada uma das alternativas acima I. Exatamente, ambas fazem parte do processo de descoberta de conhecimento. Em um primeiro momento é formado o Data Warehouse com a base de dados que agrega informações de diferentes fontes. Após passar por uma limpeza (para retirar dados inconsistentes, ex.: uma data sem o ano 12/02) esses dados são integrados de forma a compor um DW com informações de todos os setores da organização. Num segundo momento o um algoritmo de mineração de dados toma uma parte dos dados do DW e procura encontrar regras ou padrões úteis. II. Verdadeiro. Uma das tarefas de Data Mining é a descoberta de regras de associação entre dados. Outras tarefas que podemos listar são: – Classificação – Clustering – Estimativa – Previsão – Agrupamento por afinidade III. Na realidade é o oposto do que está dito na alternativa. A mineração de dados que faz parte do processo de descoberta do conhecimento. Para entender melhor, veja a figura abaixo: Gabarito: A 2. ESAF 2013 – Secretária do Tesouro Nacional – Analista de sistemas 8 - A Mineração de Dados requer uma adequação prévia dos dados através de técnicas de pré-processamento. Entre elas estão as seguintes técnicas: 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 34 de 58 a) Agrupamento. Amostragem. Redução de dimensionalidade. Seleção de subconjuntos de recursos. Recursos pontuais. Polarização. Redução de variáveis. b) Agregação. Classificação. Redução de faixas de valores. Seleção de subconjuntos de recursos. Redução de recursos. Terceirização e discretização. Transformação de variáveis. c) Agrupamento. Classificação. Redução de dimensionalidade. Seleção de subconjuntos de usuários. Criação de recursos. Binarização e discretização. Transformação de conjuntos. d) Agregação. Amostragem. Redução de dimensionalidade. Seleção de subconjuntos de usuários. Criação de recursos. Polarização. Transformação de conjuntos. e) Agregação. Amostragem. Redução de dimensionalidade. Seleção de subconjuntos de recursos. Criação de recursos. Binarização e discretização. Transformação de variáveis. Comentários: Essa questão não mede o grau conhecimento do candidato e sim a sua capacidade de decorar uma lista, que cada dia cresce mais, de técnicas de data mining, mas precisamente das técnicas de pré-processamento. A lista foi retirada do livro do TAN. Veja abaixo a lista em inglês, uma tradução ao pé da letra encontra-se na alternativa E, na mesma ordem apresentada. Aggregation Sampling Dimensionality Reduction Feature subset selection Feature creation Discretization and Binarization Attribute Transformation Gabarito: E 3. ESAF 2013 – Secretária do Tesouro Nacional – Analista de sistemas Uma técnica de classificação em Mineração de Dados é uma abordagem sistemática para a) construção de controles de ordenação a partir de um conjunto de acessos. b) construção de modelos de classificação a partir de um conjunto de dados de entrada. c) construção de modelos de dados a partir de um conjunto de algoritmos. d) construção de controles de ordenação independentes dos dados de entrada. e) construção de modelos de sistemas de acesso a partir de um conjunto de algoritmos. Comentários: Essa questão trata de classificação, uma tarefa de data mining. A classificação pode ser entendida como o processo de encontrar um conjunto de 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 35 de 58 modelos (funções) que descrevem e distinguem classes ou conceitos, com o propósito de utilizar o modelo para predizer a classe de objetos que ainda não foram classificados. Segundo o TAN, a definição também pode ser a tarefa de aprender uma função alvo f que mapeie cada conjunto de atributos x para um dos rótulos de classes y pré-determinados. Com a ajuda das duas definições acima podemos chegar à resposta na letra B. Abaixo temos uma figura do livro do TAN que apresenta graficamente a definição de classificação. Gabarito: B 4. ESAF - 2013 - DNIT - Analista Administrativo - Tecnologia da Informação São regras de avaliação de produtos OLAP: (a) Transferência ao usuário. Desempenho consistente na geração de relatórios. Dimensionalidade cumulativa. Operações irrestritas com dimensões cruzadas. (b) Visão conceitual multidimensional para restringir consultas. Transparência ao usuário. Dimensionalidade genérica. Manipulação dedutiva dos dados. (c) Visão conceitual multidimensional para formular consultas. Desempenho consistente na geração de relatórios. Dimensionalidade genérica. Manipulação intuitiva dos dados. (d) Visão conceitual multidimensional para formular consultas. Dimensionalidade genérica. Manipulação segmentada dos dados. Operações irrestritas com dimensões alternadas. (e) Extensão conceitual dos dados. Transparência ao dispositivo de acesso. Manipulação intuitiva dos dados. Operações irrestritas com indicações cruzadas. Comentários: Os produtos OLAP podem ser avaliados com o uso das regras de avaliação citadas por Codd. Portanto, um bom produto OLAP deve possuir: i) visão conceitual multidimensional; ii) transparência; iii) acessibilidade; iv) desempenho consistente do relatório; v) arquitetura cliente-servidor; vi) dimensionalidade genérica; vii) manuseio dinâmico da estrutura da matriz; viii) apoioa multi-usuários; ix) operações irrestritas de cruzamento de dimensões; 16712855225 Conceitos de OLAP e DATA MINING Prof. Thiago Rodrigues Cavalcanti ʹ Aula 02 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 36 de 58 x) manipulação de dados intuitiva; xi) relatório flexível; xii) dimensões e agregação de níveis ilimitados. Gabarito: C 5. ESAF - 2012 - CGU - Analista de Finanças e Controle - prova 3 - Auditoria e Fiscalização - Geral . São características gerais de conjuntos de dados: (a) disposição, dispersão e renderização. (b) dimensão, posicionamento e homogeneidade. (c) compatibilidade, dispersão e interação. (d) dimensão, dispersão e resolução. (e) portabilidade, concentração e resolução. Comentários: Questão retirada de TAN et. al (2009, p. 35), que destaca três características aplicadas a muitos conjuntos de dados e que possuem um impacto significativo sobre as técnicas de mineração de dados: dimensão, dispersão e resolução. A dimensão refere-se à quantidade de atributos de um conjunto de dados; A resolução está relacionada à granularidade dos dados. Um conjunto
Compartilhar