740 likes | 882 Views
Data Mining : Conceitos e Técnicas. Algumas técnicas para Data Mining. Geração de regras de associação; Classificação e predição; Agrupamento ( clustering ). Data Mining : Regras de Associação. Regras de associação. Mineração de associações ou de regras de associação:
E N D
Algumas técnicas para Data Mining • Geração de regras de associação; • Classificação e predição; • Agrupamento (clustering).
Regras de associação • Mineração de associações ou de regras de associação: • Encontrara padrões freqüentes, associações, correlações, ou estruturas causais a partir de conjuntos de itens ou objetos em DB de transações, relacionais, ou em outros repositórios de informações. • Aplicações: • Análise de cestas de dados (basket data), marketing cruzado, projeto de catálogos, agrupamento, etc.
Regras de associação • Exemplo: • Formato da regra: “corpo => cabeça [suporte, confiança]”; • compra(X, “fraldas”) => compra (X, “cerveja”) [0.5%, 60%]
Regras de associação • Dados: • Uma DB da transações; • Cada transação constituída de uma lista de itens (compras de um cliente); • Encontrar: • Todas as regras que correlacionam a presença de um conjunto de itens com outro conjunto de itens. • Exemplo: 98 % das pessoas que compram pneus e assessórios também compram sua instalação.
Regras de associação • Aplicações: • * => contratos de manutenção (o que fazer para aumentar as vendas de contratos de manutenção) • Eletrônicos => * (que outros produtos devem ser estocados) • Indicativos em marketing direto; • Detecção de “ping-pong” de pacientes, colisões...
Regras de associação Customer buys both Customer buys diaper Encontrar regras X & Y Z com suporte e confiança mínimos • Suporte,s, é a probabilidade de uma transação conter {X Y Z} • Confiança,c, é a probabilidade condicional da transação tendo {X Y} também conter Z Customer buys beer • Para um suporte mínimo de 50%, e confiança mínima de 50%, tem-se: • A C (50%, 66.6%) • C A (50%, 100%)
Regras de associação • Associações booleanas x quantitativas: conforme os valores manuseados: • compra(X, “SQLServer”) ^ compra(X, “DMBook”) => compra(X, “DBMiner”) [0.2%, 60%] • idade(Y, “30..39”) ^ renda(Y, “42..48K”) => compra(Y, “PC”) [1%, 75%] • Associações uni e multi dimensionais; • Análises uni e multi-níveis: • Que marcas de cervejas estão associadas a marcas de fraldas ?
Regras de associação • Varias extensões: • Correlação, análise causal: • Associação não necessariamente implica em correlação ou causalidade; • Padrões maximais e conjuntos fechados de itens; • Restrições forçadas: • E.g., pequenas vendas (valor < 100) disparam grandes vendas (valor > 1000)?
Regras de associação • Algoritmo utilizado: • APRIORI; • Princípio: todo subconjunto de um conjunto freqüente de itens deve ser freqüente; • Várias otimizações para melhoria da performance computacional.
Regras de associação - exemplo Database D L1 C1 Scan D C2 C2 L2 Scan D L3 C3 Scan D
Regras de associação • Regras de associação multi-níveis: • Pressupõe uma hierarquia; • Abordagem top-down progressiva; • Inicialmente: encontrar as regras “fortes” de alto nível: • Leite => pão [20%, 60%] • Em seguida, regras “fracas” de mais baixo nível: • 2% leite => pão branco [6%, 50%]
Sumário • Mineração de regras de associação: • Provavelmente a contribuição mais significativa da comunidade de DB à KDD; • Inúmeros trabalhos publicados; • Muitos pontos importantes explorados; • Direções de pesquisa: • Análise de associações em outros tipos de dados: espaciais, multimídia, temporais, etc.
Aprendizagem supervisionada e não supervisionada • Aprendizagem supervisionada (classificação) • Supervisão: O conjunto de treinamento (observações, medições, etc.) é acompanhado dos rótulos indicativos das classes das observações; • Novos dados são classificados com base na estrutura gerada a partir do conjunto de treinamento;
Aprendizagem supervisionada e não supervisionada • Aprendizagem não supervisionada(agrupamento = clustering) • Os rótulos das classes no conjunto de treinamento são desconhecidos; • Dado um conjunto de medidas, observações, etc. o objetivo é estabelecer a existência de classes ou grupos nos dados.
Classificação e Predição • Classificação: • Predição dos nomes (rótulos) das classes; • Classifica os dados (constrói um modelo) com base no conjunto de treinamento e nos valores (rótulos) do atributo classificador, de forma a determinar a classe dos novos dados; • Predição: • Modela funções sobre valores contínuos, i.e., prediz valores desconhecidos ou perdidos; • Aplicações típicas: • Aprovação de crédito, marketing dirigido, diagnóstico médico ...
Classificação: um processo de dois passos • Construção do modelo: • Descrição de um conjunto de um conjunto de classes pré-determinadas: • Cada tupla (exemplo) é considerada como pertencente a uma classe pré-definida, determinada pelo rótulo de seu atributo-classe; • O conjunto de tuplas usado na construção do modelo é o conjunto de treinamento; • O modelo pode ser representado por regras de classificação, árvores de decisão ou fórmulas matemáticas;
Classificação: um processo de dois passos • Uso do modelo: • Para a classificação futura ou de elementos desconhecidos; • Correção estimada do modelo: • Uso de conjunto de teste; • O rótulo conhecido é comparado ao rótulo fornecido pelo modelo; • O conjunto de teste deve ser diferente do conjunto de treinamento, de forma a evitar overfitting.
Training Data Classifier (Model) Classificação: passo 1 Classification Algorithms IF rank = ‘professor’ OR years > 6 THEN tenured = ‘yes’
Classifier Testing Data Unseen Data Classificação: passo 2 (Jeff, Professor, 4) Tenured?
Preparação do dados • Limpeza dos dados: • Pré-processamento dos dados para reduzir o ruído e tratar valores desconhecidos; • Análise de relevância (seleção de características): • Remoção de atributos irrelevantes ou redundantes; • Transformação de dados: • Generalização e normalização dos dados.
Avaliação da classificação • Correção preditiva; • Performance e escalabilidade; • Construção do modelo e seu uso; • Robustez: • Manuseio de dados ruidosos e incompletos; • Interpretabilidade: • Compreensão oferecida pelo modelo; • Utilidade das regras: • Tamanho, facilidade de leitura, etc.
Classificação por árvore de decisão • Árvores de decisão: • Estrutura do tipo “fluxograma”; • Nós internos denotam testes em atributos; • Ramos representam saídas dos testes; • Nós folha representam rótulos de classe.
Classificação por árvore de decisão • Construção da árvore: • No início, todos os exemplos de treinamento são associados à raiz; • Os exemplos são particionados com base nos atributos selecionados; • Poda da árvore: ramos que refletem desvios e/ou ruído são eliminados; • Uso da árvore de decisão: • Os valores dos atributos do novo exemplo são testados diretamente na árvore atingindo o nó folha da classe correspondente.
Exemplo: árvore de decisão Exemplo:ID3 de Quinlan
Exemplo: árvore de decisão age? <=30 overcast >40 30..40 student? credit rating? yes no yes fair excellent no yes no yes Buys computer ?
Exemplo: árvore de decisão • Ordem dos atributos: ganho de informação (página 70/421 do Mitchell)... • Representação por regras IF-THEN: • Uma regra para cada caminho da raiz à folha; • Cada par (atributo, valor) forma uma conjunção; • Cada folha determina a classe prevista; • Regras são de mais fácil compreensão aos usuários: IF age = “<=30” AND student = “no” THEN buys_computer = “no” IF age = “>40” AND credit_rating = “excellent” THEN buys_computer = “yes”
Classificador bayesiano • Aprendizagem probabilista: cálculo da probabilidade explícita da hipótese, de ampla aplicação em vários domínios; • Incremental: • cada exemplo de treinamento pode aumentar / diminuir a probabilidade da hipótese; • Conhecimento a priori pode ser combinado com os dados observados; • Previsão probabilista: • Várias hipótese podem ser previstas, ponderadas por suas probabilidades; • Fornece uma referência a ser comparada a outros métodos.
Classificador bayesiano • Fundamento: Teorema de Bayes; • Dado um conjunto de treinamento D, a probabilidade a posteriori de uma hipótese h, P(h|D) é dada por: • A probabilidade máxima a posteriori MAP é: • Dificuldade prática: requer conhecimento inicial de muitas probabilidades, custo computacional elevado; • Simplificação: independência dos atributos.
Exemplo: jogar ou não tênis ? • Um novo exemplo: X = <rain, hot, high, false> • P(X|p)·P(p) = P(rain|p)·P(hot|p)·P(high|p)·P(false|p)·P(p) = 3/9·2/9·3/9·6/9·9/14 = 0.010582 • P(X|n)·P(n) = P(rain|n)·P(hot|n)·P(high|n)·P(false|n)·P(n) = 2/5·2/5·4/5·2/5·5/14 = 0.018286 • O exemplo X é classificado como da classe n(não jogar).
Redes Neurais Vantagens: • Correção de predição em geral elevada; • Robustez, bom funcionamento na presença de ruídos; • Saídas discretas, reais, ou mistas; • Avaliação rápida da função de aprendizagem. Desvantagens / crítica: • Tempo de treinamento lento; • Dificuldade no entendimento da função de aprendizagem (pesos); • Difícil incorporação de conhecimento de domínio.
- mk x0 w0 x1 w1 f å output y xn wn Input vector x weight vector w weighted sum Activation function Um neurônio • Um vetor n-dimensional x de entrada é mapeado em uma variável y por meio de um produto escalar e de um mapeamento não-linear.
Rede perceptron multi-camadas Output vector Output nodes Hidden nodes wij Input nodes Input vector: xi
Rede perceptron multi-camadas Treinamento: • Obtenção dos pesos que tornam a maior parte das tuplas no conjunto de treinamento corretamente classificadas; Passos: • Inicialização randômica dos pesos; • Alimentação da rede pelas tuplas, uma a uma; • Para cada unidade: • Computar a entrada da rede à unidade como combinação linear das entradas da unidade; • Computar a saída em função dos pesos e da função de ativação; • Calcular o erro; • Modificar os pesos e recomputar.
K-vizinhos mais próximos Aprendizagem baseada em instâncias (IBL): • Armazenamento dos exemplos de treinamento (avaliação preguiçosa = “lazy evaluation”) até que a nova instância deva ser classificada; K-vizinhos mais próximos: • Algoritmo mais utilizado em IBL; • As instâncias são associadas a pontos no espaço euclidiano; • Métrica de distância para selecionar os vizinhos.
K-vizinhos mais próximos (k-NN) • Todas as instâncias correspondem a pontos no espaço n- dimensional; • Os vizinhos mais próximos são usualmente definidos em função da distância euclidiana; • A função objetivo (classe) pode ser discreta ou real; • Para os casos discretos o k-NN retorna a classe mais comum entre as classes dos k vizinhos mais próximos à nova instância;
K-vizinhos mais próximos (k-NN) • Diagrama de Voronoi: descreve a superfície de decisão induzida; • No exemplo a seguir, um caso típico para 1-NN . _ _ _ . _ . + . + . _ + xq . _ +
Predição Similar à classificação no caso em que o atributo “classe” é contínuo; Etapas: • Construção do modelo; • Uso do modelo para predizer um valor desconhecido: • O método mais utilizado é a regressão: • Regressão linear e múltipla; • Regressão não-linear.
Sumário • Classificação é provavelmente uma das técnicas mais utilizadas de data mining, com muitas possibilidades de aplicação; • É uma problema extensivamente estudado, especialmente com o uso de análise estatística, aprendizagem de máquina e redes neurais; • A escalabilidade é muito importante em aplicações de DB: o uso conjunto de de classificação e técnicas de DB é uma área promissora de estudos; • Muitas novas áreas podem ser vislubradas: classificação de dados não-relacionais, e.g. textuais, espaciais, multimídia, etc.
Agrupamento (clustering) Cluster: uma coleção de objetos de dados; • Similares entre si no mesmo cluster; • Não similares aos objetos fora do respectivo cluster; Análise de clusters: • Agrupamento de dados em clusters; Agrupamento (clustering) é uma classificação não-supervisionada: não há classes pré-definidas. Aplicações típicas: • Como ferramenta para análise da distribuição dos dados; • Como pré-processamento para outros métodos.
Aplicações gerais do agrupamento • Reconhecimento de padrões; • Análise de dados espaciais: • Criação de mapas temáticos em GIS por agrupamento de espaços de características; • Detecção de clusters espaciais e sua explanação em data mining; • Processamento de imagens; • Pesquisas de mercado; • WWW: • Classificação de documentos; • Agrupamento de dados de weblogs para descobrir padrões similares de acesso;
Exemplos de aplicações • Marketing: ajuda na descoberta de grupos distintos de clientes, e uso deste conhecimento para criar campanhas dirigidas; • Uso de terras: identificação de áreas de uso similar a partir de uma base de observação via satélite; • Seguros: identificação de grupos de assegurados com alto custo de sinistro; • Planejamento urbano: identificação de grupos de casa de acordo com seu tipo, valor e localização geográfica; • Estudos sobre terremotos: identificação de epicentros e seu agrupamento ao longo de falhas geológicas.