68
DABI - Data Warehouse e Business Intelligence Profa. Claudia Martins Prof. Nilton Takagi

Aula - DABI v3.1.pdf

Embed Size (px)

Citation preview

Page 1: Aula - DABI v3.1.pdf

DABI - Data Warehouse e Business Intelligence

Profa. Claudia Martins

Prof. Nilton Takagi

Page 2: Aula - DABI v3.1.pdf

Motivação?

...

Page 3: Aula - DABI v3.1.pdf

Agenda

Nivelamento de conceitos Conceitos e etapas de Data Mining Técnicas de Data Mining

– Classificação● Árvores de Decisão● Aprendizado Bayesiano● Redes Neurais

– Regras de Associação● A priori

– Clustering● K-means

Aplicação usando o software Weka

Page 4: Aula - DABI v3.1.pdf

Business Intelligence

Nivelamento de Conceitos

Page 5: Aula - DABI v3.1.pdf

Por que Data Warehouse?

Repositório de várias fontes de dados Armazenamento de grandes volumes de dados Estrutura, conteúdo e uso diferente: dados históricos,

para suporte a decisão, fontes heterogêneas, várias dimensões

Os usuários são gerentes de alto nível e os responsáveis pela tomada de decisões

Consulta: Quais são os produtos vendidos no último quadrimestres e o total de vendas no Brasil?

Nivelamento de Conceitos

Page 6: Aula - DABI v3.1.pdf

Por que Data Warehouse?

Data Warehouses (DW) generalizam e consolidam dados em um espaço multidimensional

A construção de DW envolve limpeza dos dados; integração dos dados e transformação dos dados (importante passo de pré-processamento para DM)

Data warehousing fornece arquitetura e ferramentas para executivos de negócios sistematicamente organizar, compreender e usar seus dados para fazer decisões estratégicas.

Última arma de marketing: “um modo de reter clientes por aprender mais sobre suas necessidades”

Nivelamento de Conceitos

Page 7: Aula - DABI v3.1.pdf

Por que utilizar um Data Warehouse?

Várias plataformas de hardware e software;

Existência de sistemas de fornecedores diferentes;

Constantes alterações nos sistemas corporativos;

Machado, 2004

Conceitos DW

Page 8: Aula - DABI v3.1.pdf

O que é um Data Warehouse?

“É uma coleção de dados orientados por assunto, integrado, variável com o tempo e não-volátil, que tem por objetivo dar suporte aos processos de tomada de decisão.” (Inmon)

Laudon, 2010

Conceitos DW

Page 9: Aula - DABI v3.1.pdf

O que é um Data Warehouse?

Nivelamento de Conceitos

Page 10: Aula - DABI v3.1.pdf

Por que Data Mining?

Crescimento explosivo de dados: de terabytes a petabytes

Coleção e disponibilidade de dados: ferramentas automatizadas para coleção de dados, sistemas de banco de dados, Web, sociedade computadorizada

Maiores fontes de dados: – Negócios (business): Web, e-commerce, transações,

estoques, … – Ciência: Sensoriamento Remoto, bioinformática,

simulação científica, … – Sociedade em geral: notícias, câmaras digital, YouTube

Laudon, 2010

Nivelamento de Conceitos

Page 11: Aula - DABI v3.1.pdf

Por que Data Mining?

Estamos afogados em dados, mas sedentos por conhecimento!

“Necessidade é a mãe da invenção”—Data mining—Análise automática de massivos conjuntos de dados

Buscar padrão: Qual o perfil de clientes que compraram produtos eletrônicos?

Nivelamento de Conceitos

Page 12: Aula - DABI v3.1.pdf

Data Warehouse vs Data Mining

Data Warehouse – Consulta: Quais clientes

compraram produtos eletrônicos? Qual o valor total das vendas no quadrimentre passado?

Data Mining – Padrão: Qual o perfil dos clientes que

compraram produtos eletrônicos? Os clientes que compraram produtos eletrônicos também compraram qual outro produto?

Nivelamento de Conceitos

Page 13: Aula - DABI v3.1.pdf

Data Warehouse vs Data Mining

Data Warehouse – Consulta: Quais clientes compraram produtos eletrônicos?

Qual o valor total das vendas no quadrimestre passado?

Data Mining – Padrão: Qual o perfil dos clientes que compraram

produtos eletrônicos? Os clientes que compraram produtos eletrônicos também compraram qual outro produto?

Data Warehouse é a MEMÓRIA da empresaData Mining é a INTELIGÊNCIA empresa

Nivelamento de Conceitos

Page 14: Aula - DABI v3.1.pdf

Agenda

Nivelamento de conceitos Conceitos e etapas de Data Mining Técnicas de Data Mining

– Classificação● Árvores de Decisão● Aprendizado Bayesiano● Redes Neurais

– Regras de Associação● A priori

– Clustering● K-means

Aplicação usando o software Weka

Page 15: Aula - DABI v3.1.pdf

O que é Data Mining?

Data mining (descoberta de conhecimento de dados) – Extração de padrões ou conhecimento interessantes

(não-trivial, implícitos, previamente desconhecidos e potencialmente úteis) de grandes volumes de dados

– Data mining: um termo errôneo? Nomes alternativos

– Knowledge discovery (mining) in databases (KDD), extração de conhecimento, análise de dados/padrões, arqueologia de dados, dragagem de dados, colheita de informação, business intelligence, etc.

Atenção: tudo é “data mining”? – Simples busca e processamento de consulta – Sistemas especialistas (Dedutivo)

Nivelamento de Conceitos

Page 16: Aula - DABI v3.1.pdf

Processo de Descoberta de Conhecimento (KDD)

Laudon, 2010

Nivelamento de Conceitos

Ponto de vista típico de comunidades de sistemas de banco de dados e data warehousing

Data mining tem uma função essencial no processo de descoberta de conhecimento

Page 17: Aula - DABI v3.1.pdf

Processo KDD: Técnicas de ML e Estatística

Laudon, 2010

Nivelamento de Conceitos

Page 18: Aula - DABI v3.1.pdf

Data Mining: Interação de Múltiplas Áreas

Laudon, 2010

Nivelamento de Conceitos

Page 19: Aula - DABI v3.1.pdf

Porque Múltiplas Áreas?

Enorme quantidade de dados– Algoritmos devem ser altamente escaláveis para

manipular tera-bytes de dados Alta dimensionalidade dos dados

– Micro-array com milhares de dimensões Alta complexidade de dados

– Cadeias de dados e dados de sensores– Dados de séries temporais, dados de sequências – Dados estruturais, grafos, redes sociais – Banco de dados heterogêneos e legados– Dados espacial, espaço-temporal, multimídia, textual, Web – Programas de software, simulações científicas– Novas e sofisticadas aplicações

Laudon, 2010

Nivelamento de Conceitos

Page 20: Aula - DABI v3.1.pdf

Multi-Dimensionalidade e Data Mining

Conhecimento a ser minerado (ou: funções Data mining)– Caracterização, discriminação, associação, classificação,

agrupamento (clustering), tendências, análise de outliers, etc.

– Data mining descritiva vs. preditiva – Funções múltiplas/integradas e mineração em múltiplos

níveis Dados a serem minerados

– Banco de Dados (relacional-extendido, orientado a objeto, heterogêneos, legados), data warehouse, dados transacionais, espaço-temporal, série temporial, sequência, textual e web, multimídia, grafos, redes sociais e de informação

Sezões

Nivelamento de Conceitos

Page 21: Aula - DABI v3.1.pdf

Multi-Dimensionalidade e Data Mining

Técnicas utilizadas– data warehouse (OLAP), machine learning,

estatísticas, reconhecimento de padrões, visualização, alto desempenho, etc.

Aplicações apropriadas– Varejo, telecomunicação, bancos, análise de fraude,

bio-dados, análise de estoque de mercado, mineração textos, mineração Web, etc.

Laudon, 2010

Nivelamento de Conceitos

Page 22: Aula - DABI v3.1.pdf

Data Mining: quais tipos de dados?

Conjunto de dados e aplicações orientados ao banco de dados – Banco de dados relacional, data warehouse, transacional

Conjunto de dados e aplicações avançadas – Dados streams e dados de sensor– Dados de séries temporais – Dados estruturais, grafos, redes sociais– Banco de dados objeto-relacional – Banco de dados legados e heterogêneos – Dados espaciais e espaço-temporal– Banco de dados multimídia – Banco de dados textuais– Dados da World-Wide Web

Machado, 2004

Conceitos DW

Page 23: Aula - DABI v3.1.pdf

Avaliação do Conhecimento

Todo conhecimento descoberto é interessante?– Podem enconrtar muitos “padrões” e conhecimento– Podem preencher apenas certas dimensões (tempo, locação, …)– Podem não ser representativos, podem ser transitórios, …

Avaliação do conhecimento minerado → como minerar apenas conhecimento interessante?– Descritivo vs. preditivo– Cobertura– Típico vs. novidade– Precisão– Ocasião/conveniência – ..

Machado, 2004

Conceitos DW

Page 24: Aula - DABI v3.1.pdf

Maiores Desafios em Data Mining

Eficiência e escalabilidade dos algoritmos de data mining Métodos de mineração paralelos, distribuídos, stream, e

incrementais Manipulação de alta-dimensionalidade Manipulação de ruídos, incerteza e imperfeições dos dados Incorporação de restrições, conhecimento especialista e

conhecimento de fundo em data mining Avaliação de padrões e integração de conhecimento Mineração de diversas e heterogêneos tipos de dados: p.e.,

bioinformática, Web, engenharia de software/sistema, redes de informação

Data mining orientada a aplicação e específica do domínio Data mining invisível (embutido em outros módulos

funcionais) Proteção de segurança, integridade e privacidade em

Machado, 2004

Conceitos DW

Page 25: Aula - DABI v3.1.pdf

Resumo

MD: inteligência x DW: memória Mineração de Dados: Descobrindo padrões interessantes

de grandes volumes de dados Um processo KDD inclui limpeza dos dados, integração

dos dados, seleção dos dados, transformação, data mining, avaliação de padrões e apresentação do conhecimento

Mineração por ser aplicado em uma variedade de repositórios de informação

Mineração de Dados: uma etapa do processo de Business Intelligence? Um conceito fuzzy!!!!

Machado, 2004

Page 26: Aula - DABI v3.1.pdf

Atividade!

Qual a diferença entre BI, KDD, DM, DW e AM?

Nivelamento de Conceitos

Page 27: Aula - DABI v3.1.pdf

Agenda

Nivelamento de conceitos Conceitos e etapas de Data Mining Tarefas e técnicas de Data Mining

– Classificação● Árvores de Decisão● Aprendizado Bayesiano● Redes Neurais

– Regras de Associação● A priori

– Clustering● K-means

Aplicação usando o software Weka

Page 28: Aula - DABI v3.1.pdf

Tarefas de Aprendizado

Aprendizado Indutivo– É essencial, pois é necessário a projeção em janelas

de tempo;

Machado, 2004

Conceitos DW

Page 29: Aula - DABI v3.1.pdf

Tarefas de Aprendizado

Aprendizado por exemplos

Machado, 2004

Conceitos DW

Page 30: Aula - DABI v3.1.pdf

O que é uma Hipótese?

Page 31: Aula - DABI v3.1.pdf

Aprendizado Supervisionado vs. Não Supervisionado

Aprendizado Supervisionado (classificação)– Supervisão: os dados de treinamento (observações,

medidas, etc.) são acompanhadas por rótulos (labels) indicando a classe das observações

– Novos dados são classificados baseados no conjunto de treinamento

Machado, 2004

Conceitos DW

Page 32: Aula - DABI v3.1.pdf

Aprendizado Supervisionado vs. Não Supervisionado

Aprendizado Não Supervisionado (clustering)– Os rótulos das classes dos dados de treinamento são

desconhecidos– Dado um conjunto de medidas, observações, etc. a

meta é estabelecer a existência de classes ou clusters nos dados

Machado, 2004

Conceitos DW

Page 33: Aula - DABI v3.1.pdf

Problemas de Predição: Classificação vs. Predição Numérica

Classificação – Prediz classes categóricas (discreta ou nominal)– Classifica dados (constrói um modelo) baseado no

conjunto de treinamento e nos valores (classes) na classificação de atributos para classificar novos dados

Machado, 2004

Arquitetura DW

Page 34: Aula - DABI v3.1.pdf

Problemas de Predição: Classificação vs. Predição Numérica

Predição Numérica – Modela funções de valores contínuos, i.e., prediz

valores desconhecidos ou ausentes Aplicações Típicas

– Aprovação Crédito/empréstimo– Diagnóstico Médico: se um tumor é canceroso ou

benigno– Detecção de Fraude: se uma transação é

fraudulenta – Categorização de página Web: qual categoria

pertence

Machado, 2004

Carga inicial e novos dados Consultas orientadas ao usuário finalArquitetura DW

Page 35: Aula - DABI v3.1.pdf

Classificação:Árvores de Decisão

Page 36: Aula - DABI v3.1.pdf

Exemplo: Robôs Amigos e Inimigos

Machado, 2004

Page 37: Aula - DABI v3.1.pdf

Exemplo: Robôs Amigos e Inimigos

Conceito/modelo extraído – árvore de decisão e regras:– Se sorri = não então inimigo

– Se sorri = sim e segura = espada então inimigo

– Se sorri = sim esegura = balão ou bandeira

então inimigo

Machado, Sezões

Arquitetura DW

Page 38: Aula - DABI v3.1.pdf

Classificação: Exemplo 2

Machado, 2004

Page 39: Aula - DABI v3.1.pdf

Classificação: Exemplo 2

Machado, 2004

Page 40: Aula - DABI v3.1.pdf

Classificação: Exemplo 2

Machado, 2004

Page 41: Aula - DABI v3.1.pdf

Classificação: Exemplo 2

Machado, 2004

Page 42: Aula - DABI v3.1.pdf

Classificação: Exemplo 2

Machado, 2004

Page 43: Aula - DABI v3.1.pdf

Classificação: Exemplo 2

Machado, 2004

Page 44: Aula - DABI v3.1.pdf

Classificação: Exemplo 2

Machado, 2004

Page 45: Aula - DABI v3.1.pdf

Classificação: Exemplo 2

Machado, 2004

Page 46: Aula - DABI v3.1.pdf

Classificação—Processo de Dois Passos

Construção do Modelo: descrição de um conjunto predeterminado de classes – Cada tupla/amostra pertence a uma classe

predefinida, como determinada por um atributo classe

– O conjunto de tuplas usado para construção do modelo é o conjunto de treinamento

– O modelo é representado como regras de classificação, árvores de decisão ou fórmula matemática

Machado, 2004

Page 47: Aula - DABI v3.1.pdf

Classificação—Processo de Dois Passos

Uso do Modelo: para classificação futura de objetos desconhecidos – Acurácia Estimada do modelo

● As classes do conjunto de teste é comparado com o resultado classificado pelo modelo

● Acurácia é a porcentagem da amostra do conjunto de teste que são corretamente classificadas pelo modelo

● Conjunto de Teste é um conjunto de treinamento independente

– Se a acurácia é aceitável, usa-se o modelo para classificar dados cujas classes são desconhecidas

Machado, 2004

Page 48: Aula - DABI v3.1.pdf

Passo (1): Construção do Modelo

Page 49: Aula - DABI v3.1.pdf

Passo (2): Usando o Modelo na Predição

Page 50: Aula - DABI v3.1.pdf

Indução de Árvores de Decisão: Dados de Treinamento

Sezões

Análise OLAP

Page 51: Aula - DABI v3.1.pdf

Output: Uma Árvore de Decisão para “buys_computer”

Sezões

Page 52: Aula - DABI v3.1.pdf

Algoritmo para Indução de Árvores de Decisão

Algoritmo Básico – A árvore é construída de forma recursiva top-down dividir-e-conquistar– No início, todos os exemplos de treinamento estão na raiz – Atributos são categóricos (os valores contínuos são discretizados)– Exemplos são particionados recursivamente baseados nos exemplos

selecionados – Atributos teste são selecionados de acordo com uma medida heurística ou

estatística (p.e., ganho de informação) Condições para parar o particionamento

– Todos os exemplos para um dado nó pertencem à mesma classe – Não existe atributos remanescentes para particionamento – a classe

majoritária é escolhida para classificar a folha – Não existe exemplos na folha

Machado, Sezões

Análise OLAP

Page 53: Aula - DABI v3.1.pdf

Medida de Seleção de Atributo: Ganho de Informação (ID3/C4.5)

Machado

Análise OLAP

Page 54: Aula - DABI v3.1.pdf

Seleção de Atributo: Ganho de Informação

Machado

Análise OLAP

Page 55: Aula - DABI v3.1.pdf

Overfitting e Poda da Árvore

Overfitting: uma árvore induzida pode “overfit” os dados de treinamento – Muitos ramos, alguns podem refletir anomalias

devido a ruídos ou outliers– Pobre acurácia para exemplos não vistos

Duas abordagens para evitar overfitting – Prépoda: Construção da árvore para cedo ̵ não

divide um nó se este pode resultar em uma boa medida de acordo com threshold● Difícil escolher um threshold apropriado

– Póspoda: Remove ramos de uma árvore “totalmente crescida” —pega uma sequência progressivamente de poda da árvore● Usa um conjunto de dados diferente do treinamento

para decidir qual a “melhor poda da árvore” Análise OLAP

Sezões

Page 56: Aula - DABI v3.1.pdf

Método de Poda Redução do Erro

O conjunto de teste é classificado no modelo gerado com o conjunto de treinamento contando, para cada nó da árvore de decisão original, o número de exemplos em cada classe:– Conta o nº de exemplos dos nós folhas não

classificados (ds)– Conta o nº de exemplos que não seriam

classificados se a subárvore (S) em questão fosse substituída por sua melhor folha (dps)

– Se gs = ds – dps >= 0 então PODA

Page 57: Aula - DABI v3.1.pdf

Extração de Regras de uma Árvore de Decisão

Regras são mais fáceis de compreender do que grandes árvores

Uma regra é criada para cada

caminho da raiz até a folha Cada para atributo-valor ao longo do

caminho forma uma conjunção: as folhas predizem classe

Regras são mutuamente exclusivas e exaustivas

Example: extração de

regras da árvore de decisão

buys_computer

Análise OLAP

Sezões

Page 58: Aula - DABI v3.1.pdf

Classificação em Grandes Databases Classificação – um problema clássico extensivamente

estudado por estatísticos e pesquisadores de AM Escalabilidade: Classificando dados com milhões de

exemplos e centenas de atributos com velocidade razoável

Por que indução de árvores de decisão em data mining?– Relativamente aprendizado mais rápido (do que outros

métodos de classificação)– Conversão simples e fácil para compreensão de regras de

classificação – Pode usar consultas SQL para acesso ao banco de dados – A acurácia comparável com outros métodos

Machado, Inmon

Modelagem

Page 59: Aula - DABI v3.1.pdf

Atividade!

Qual a árvore de decisão usando o ganho de informação, para o conjunto de dados abaixo.

Qual a classe do exemplo (Sim, Frango, Sim, Não)?

Nivelamento de Conceitos

Feijão Carne Frutas Queijo Resultado

1 Sim Peixe Sim Sim Sim

2 Não Gado Não Não Não

3 Sim Peixe Sim Sim Sim

4 Não Frango Sim Não Sim

5 Não Gado Sim Não Não

Page 60: Aula - DABI v3.1.pdf

Classificação:Aprendizado Bayesiano

Page 61: Aula - DABI v3.1.pdf

Classificação Bayesiana: Por que?

Classificador estatístico: realiza predição probabilística, i.e., prediz a probabilidade dos membros das classes

Fundamento: Baseado no Teorema de Bayes. Performance: Um simples classificador Bayesiano, naïve

Bayesiano classificador, tem performance comparável com árvores de decisão e classificadores de redes neurais

Incremental: Cada exemplo de treinamento pode incrementalmente aumentar/diminuir a probabilidade que uma hipótese está correta — conhecimento anterior pode ser combinada com dados observados

Escala: Até quando métodos Bayesianos são intratáveis computacionalmente, podem fornecer uma escala de decisões ótimas contra outros métodos que podem ser medidos

Machado, Inmon

Modelagem

Page 62: Aula - DABI v3.1.pdf

Teorema Bayesiano: Básico

Faça X ser uma amostra de dados (“evidência”): classe é desconhecida

Faça H ser uma hipótese que X pertence a classe C Classificação: determinar P(H|X) (probabilidade a

posteriori), probabilidade da hipótese dado a amostra X P(H) (priobabilidade a priori), a probabilidade inicial

– p. e., X comprará computador, independente da idade, rendimento, …

P(X): probabilidade que a amostra de dados é observada P(X|H) (likelihood), a probabilidade de observar a

amostra X, dado a hipótese – p.e., dado que X comprará computador, a prob. Que X é

31..40, rendimento médio

Machado, Inmon

Modelagem

Page 63: Aula - DABI v3.1.pdf

Teorema Bayesiano

Dado os dados de treinamento X, probabilidade a posteriori da hipótese H, P(H|X), segue o teorema de Bayes

P(H|X) = P(X|H)P(H) / P(X) Informalmente, isto pode se escrito como

posteriori = likelihood x prior/evidence Prediz X pertencer a C2 sss a probabilidade

P(Ci|X) é o mais alto entre todos os P(Ck|X) para todos as k classes

Dificuldade prática: requer conhecimento inicial de muitas probabilidades, significando custo computacional

Machado, Inmon

Modelagem

Page 64: Aula - DABI v3.1.pdf

Classificador Naïve Bayesiano: Dados de Treinamento

Machado, Inmon

Modelagem

Page 65: Aula - DABI v3.1.pdf

Classificador Naïve Bayesiano: um Exemplo

Machado, Inmon

Modelagem

Page 66: Aula - DABI v3.1.pdf

Evitando o problema da probabilidade 0 Predição Naïve Bayesiano requer que cada prob.

condicional ser não-zero. Caso contrário, a prob. predita será zero

Ex. Suponha um conjunto de dados com 1000 tuplas, income=low (0), income= medium (990), e income = high (10),

Use Laplaciano correção (ou Laplacian estimator)– Adicionado 1 a cada caso

● Prob(income = low) = 1/1003● Prob(income = medium) = 991/1003● Prob(income = high) = 11/1003

A prob. “corrigida” estimada são mais próximas do que “não corrigidas”

Machado, Inmon, Sezões

Modelagem

Page 67: Aula - DABI v3.1.pdf

Naïve Bayesian Classificador: Comentários

Vantagens – Fácil implementar – Bons resultados obtidos na maioria dos casos

Desvantagens – Suposição: independência condicional da classe, portanto

perda de acurácia – Praticamente, dependências existe entre variáveis

● p.e., hospitais: pacientes: Perfil: idade, família, histórico, etc. ● Sintomas: febre, tosse etc., Doença: cancer, diabetes, etc.

– Dependências entre estes não podem ser modelados pelo Classificador Naïve Bayesian

Como tratar com essas dependências?– Redes de Crenças Bayesianas

Page 68: Aula - DABI v3.1.pdf

Atividade!

Calcule as probabilidades usando o aprendizado Bayesiano para o conjunto de dados abaixo.

Qual a classe do exemplo (Sim, Frango, Sim, Não)?

Nivelamento de Conceitos

Feijão Carne Frutas Queijo Resultado

1 Sim Peixe Sim Sim Sim

2 Não Gado Não Não Não

3 Sim Peixe Sim Sim Sim

4 Não Frango Sim Não Sim

5 Não Gado Sim Não Não