Post on 22-Dec-2015
DABI - Data Warehouse e Business Intelligence
Profa. Claudia Martins
Prof. Nilton Takagi
Motivação?
...
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
Business Intelligence
Nivelamento de Conceitos
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
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
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
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
O que é um Data Warehouse?
Nivelamento de Conceitos
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
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
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
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
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
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
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
Processo KDD: Técnicas de ML e Estatística
Laudon, 2010
Nivelamento de Conceitos
Data Mining: Interação de Múltiplas Áreas
Laudon, 2010
Nivelamento de Conceitos
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
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
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
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
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
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
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
Atividade!
Qual a diferença entre BI, KDD, DM, DW e AM?
Nivelamento de Conceitos
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
Tarefas de Aprendizado
Aprendizado Indutivo– É essencial, pois é necessário a projeção em janelas
de tempo;
Machado, 2004
Conceitos DW
Tarefas de Aprendizado
Aprendizado por exemplos
Machado, 2004
Conceitos DW
O que é uma Hipótese?
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
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
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
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
Classificação:Árvores de Decisão
Exemplo: Robôs Amigos e Inimigos
Machado, 2004
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
Classificação: Exemplo 2
Machado, 2004
Classificação: Exemplo 2
Machado, 2004
Classificação: Exemplo 2
Machado, 2004
Classificação: Exemplo 2
Machado, 2004
Classificação: Exemplo 2
Machado, 2004
Classificação: Exemplo 2
Machado, 2004
Classificação: Exemplo 2
Machado, 2004
Classificação: Exemplo 2
Machado, 2004
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
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
Passo (1): Construção do Modelo
Passo (2): Usando o Modelo na Predição
Indução de Árvores de Decisão: Dados de Treinamento
Sezões
Análise OLAP
Output: Uma Árvore de Decisão para “buys_computer”
Sezões
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
Medida de Seleção de Atributo: Ganho de Informação (ID3/C4.5)
Machado
Análise OLAP
Seleção de Atributo: Ganho de Informação
Machado
Análise OLAP
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
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
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
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
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
Classificação:Aprendizado Bayesiano
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
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
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
Classificador Naïve Bayesiano: Dados de Treinamento
Machado, Inmon
Modelagem
Classificador Naïve Bayesiano: um Exemplo
Machado, Inmon
Modelagem
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
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
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