O processo de DCBD Prof. Luis Otavio Alvares INE/UFSC Parte da apresentação é baseada em slides dos profs. José Leomar Todesco e Maurício Reis O processo de DCBD (KDD) • • • • Pouco explorado na bibliografia Longo Trabalhoso Muito dependente dos objetivos do usuário e dos dados disponíveis KDD process (FAYYAD, 1996) Metodologia CRISP-DM • CRISP-DM = CRoss – Industry Standard Process for Data Mining (projeto europeu ESPRIT com vários parceiros industriais) • Geral - não se restringe a ferramenta ou tecnologia específica • Manual: http://www.crisp-dm.org/download.htm Fases do CRISP-DM (Data Mining) 1- Entendimento do Negócio (Identificação dos objetivos do projeto) • Determinar os objetivos do projeto de DCBD • Avaliar a situação: disponibilidade de recursos, limitações, etc. • Determinar os objetivos da DC: objetivo, tipo de tarefa (classificação, clustering,...), critérios para avaliação do modelo. • Produzir plano do projeto Exemplo: O departamento financeiro de uma grande loja de vestuário notou que o faturamento sofreu uma queda significativa nos últimos meses. Isto ocorreu pela queda das vendas em suas lojas que estão espalhadas por todo o país. Uma análise humana simples constatou que a queda das vendas se deu em quase todas as regiões do país com predominância nas regiões Sudeste, Nordeste e Norte. Algumas soluções propostas pelos diversos departamentos da empresa foram: • O setor de marketing poderia desenvolver uma campanha publicitária; O setor de crédito pessoal proporia aumentar a oferta do cartão de crédito O setor de planejamento sugestionaria uma mudança no formato da rede, tornando suas lojas mais atrativas com novos layouts; O setor de vendas poderia propor um serviço de mala direta com o envio de catálogos periódicos. Todas estas propostas custam muito dinheiro e possuem a característica de não atacarem o problema causador da queda das vendas que, por enquanto, é desconhecido. DCBD pode ser usada para descobrir mais detalhes sobre a queda das vendas e possivelmente a sua causa Exemplo Objetivo: uma empresa de fornecimento de água (como a CASAN) deseja diminuir seus custos operacionais Como: diminuindo o gasto com energia elétrica Exemplo Objetivo: uma empresa de fornecimento de água (como a CASAN) deseja diminuir seus custos operacionais Como: diminuindo o gasto com energia elétrica Predição de consumo de água: Dados: consumo diário de água aspectos climáticos (temperatura, umidade do ar, …) dia da semana e do mês, feriado, férias, ... Objetivo da mineração: prever o consumo de água de forma a minimizar o bombeamento em horários de energia mais cara 2- Entendimento dos Dados (Data Mining) 2- Entendimento dos Dados (coleta e análise dos dados) A partir da coleta inicial, explorar os dados, verificando suas propriedades e qualidade • Coletar dados iniciais • Descrever os dados • Explorar os dados – analisar a descrição dos dados – usar técnicas de visualização • Verificar a qualidade dos dados O que são dados? • Uma coleção de objetos e seus atributos Atributos • Um atributo é uma propriedade ou característica de um objeto – Exemplos: a cor dos olhos de uma pessoa, a sua temperatura, etc. – Atributos também são conhecidos como variáveis, Objetos campos, características • Uma coleção de atributos descreve um objeto – Objetos também são conhecidos como registro, ponto, caso, exemplo, entidade, instância 10 Tid Refund Marital Status Taxable Income Cheat 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes 60K Exemplos de tipos de conjuntos de dados • Registros – – – – Dados de transações Dados cadastrais Dados de documentos …. • Grafos – – – – Estrutura da Web Relacionamentos nas redes sociais Estruturas moleculares …. • Ordenados – Dados temporais e espaço-temporais – Dados de seqüências genéticas – …. Tipos de atributos • Qualitativos: referem-se a uma qualidade ou característica e assumem um número finito de valores. Podem ser: – Ordinais: apresentam uma ordem entre os valores possíveis. Ex: ruim, regular, bom – Nominais: quando não há ordem entre os valores. Ex: masculino, feminino. Ex: solteiro, casado, divorciado, viúvo • Quantitativos: assumem valores numéricos e podem ser: – Contínuos: os valores possíveis são os números reais. Ex: receita, taxa, salários – Discretos: os valores possíveis fazem parte de um conjunto finito ou infinito numerável. Ex: número de empregados, número de filhos de uma família. Descrição dos dados (mais detalhes na próxima aula) • Descrever os dados Número de atributos e instâncias em cada arquivo – Tipos e faixas de valores dos atributos – Significado de cada atributo e sua importância para o objetivo – Estatísticas básicas para alguns atributos (média, DP, máximo, mínimo, percentil, frequência, moda, etc.) – Relações entre os atributos-chave Exploração dos dados: visualização • visualização é a conversão dos dados para um formato visual ou tabular de forma que características dos dados e da relação entre elementos dos dados possam ser percebidas visualmente • Visualização é uma das mais poderosas técnicas para a exploração dos dados: – humanos têm muita habilidade de analisar grandes quantidades de informação apresentadas sob forma visual – podem detectar padrões gerais e tendências – podem detectar exceções e padrões não usuais Exemplo: temperatura da superfície dos oceanos em julho de 1982 Dezenas de milhares de pontos estão sumarizados em uma simples figura: Entendimento dos dados • Exemplo do Sistema de Internações Hospitalares do SUS: – atributo CPF • Exemplo do Sistema de Informações de Mortalidade, do MS: – atributo idade – atributo raça/cor – atributo ocupação 3- Preparação de Dados (Data Mining) Preparação de Dados A fase de Preparação de Dados visa a preparação dos dados disponíveis, que geralmente não estão dispostos em formato adequado, para a aplicação dos algoritmos de descoberta, análise e extração de conhecimento. Preparação de Dados • As grandes bases de dados são altamente susceptíveis a ruídos, valores faltantes e inconsistência. • Dados limpos e consistentes são requisitos básicos para o sucesso da mineração dos dados. • A limpeza dos dados tem por objetivo assegurar a qualidade dos dados selecionados. Preparaçao de Dados Quase todos os algoritmos de data mining trabalham com uma única tabela de dados de entrada. Os dados podem estar representados em diferentes fontes, tais como arquivos-texto, arquivos no formato de planilhas, bancos de dados ou outro tipo de fonte, por isso é necessária a padronização e a integração dos dados. Preparação de Dados • O conhecimento sobre o domínio auxilia em todas as etapas do processo de KDD, mas é fundamental na fase de Preparação dos Dados. • Esse conhecimento pode ajudar os analistas na seleção do melhor conjunto de dados para a extração de conhecimento, determinando os valores válidos, os atributos, os critérios de preferência entre os possíveis atributos, as restrições de relacionamento ou informações para a construção de novos atributos. Preparação de Dados Produção de um conjunto de dados adequado aos algoritmos de mineração: • • • • • Seleção de dados Limpeza Transformação de dados Construção de dados Integração de dados: combinar múltiplas tabelas ou outras fontes • Formatar dados: modificações sintáticas nos dados, sem alterar o seu significado. Ex: – Primeiro atributo tem que ser uma chave única – O arquivo tem que estar em uma ordem determinada – Retirar vírgulas dos campos para gerar um arquivo com atributos separados por vírgulas Preparação de dados: seleção de dados Seleção de atributos • motivos: – – – – – Requisitos de tempo e espaço Simplicidade do modelo gerado Relevância dos atributos Redundância entre atributos Acurácia pode ser aumentada • forma: – Manual – Por algoritmos: mais de 30 algoritmos Seleção de atributos Manual: eliminação direta • Eliminação dos atributos não relevantes ao processo de DCBD Normalmente atributos que identificam o registro são eliminados, bem como atributos sem variação no seu valor, atributos não preenchidos, etc. SELECT Sexo, Data_Nasc, Est_Civil, Num_Dep, Renda, Despesa, Tp_Res, Bairro_Res, Result FROM CLIENTE (excluídos CPF e Nome) – Criação de nova tabela Preparação de dados: seleção de dados Seleção de registros (exemplos, instâncias) Principais formas: – Segmentação dos dados – Eliminação direta de casos – Amostragem aleatória – Agregação de informações Seleção de registros Segmentação dos dados Por exemplo, seleção dos clientes com residência própria SELECT * FROM CLIENTE WHERE Tp_Res = “P” Criação de nova tabela: Seleção de registros Eliminação direta Exemplo: excluir clientes que não tem residência própria: DELETE FROM CLIENTE WHERE Tp_Res <> “P” Alteração da tabela Seleção de registros Amostragem aleatória – Simples sem reposição • Pode ser selecionado 1 vez – Simples com reposição • Pode ser selecionado + 1 vez (reposição após a exclusão) – Estratificada • Seleção de amostras por grupos disjuntos bem identificados (estratificados) • Garante a seleção de registros de grupos com menor quantidade de elementos • Exemplo: seleção de clientes por grupo de faixa etária Seleção de registros Agregação • Agregar dados (p.e. soma de valores num período, média de valores, etc.) SELECT Sexo, Est_Civil, MAX(Num_Dep), SUM(Renda), AVG(Despesas), Tp_Res, Result FROM CLIENTE GROUP BY Sexo, Est_Civil, Tp_Res, Result Preparação de dados: Limpeza São operações básicas de remoção de ruídos, atributos incompletos ou erros, restando a informação relevante. Podem existir erros de digitação ou erros nos sistemas de captura dos dados por sensores, sendo que a remoção desses erros pode ser realizada utilizando o conhecimento do domínio. Preparação de dados: Limpeza • • • • Limpeza de informações ausentes Limpeza de inconsistências Limpeza de valores fora do domínio Padronização de dados Limpeza • Limpeza de informações ausentes Objetivo: preenchimentos dos valores ausentes – Exclusão de casos – Preenchimento manual de valores – Preenchimento com valores globais constantes – Preenchimento com medidas estatísticas – Preenchimento com métodos de mineração de dados Limpeza de informações ausentes • Exclusão de casos – Excluir registros com 1 ou mais valores ausentes – Não é adequado quando há poucos registros Limpeza de informações ausentes • Preenchimento manual de valores – Pesquisa e depois digitação dos valores – Demanda muito tempo!! Limpeza de informações ausentes • Preenchimento com valores globais constantes – Definir valor substituto – Problema: tratamento pelo algoritmo de MD Limpeza de informações ausentes • Preenchimento com medidas estatísticas – Utilizar uma medida estatística – Exemplo: média considerando os grupos de acordo com o valor de Result Limpeza de informações ausentes • Preenchimento com métodos de MD – Modelos preditivos podem sugerir valores mais prováveis • Redes neurais • Modelos Bayesianos (estatística) • Árvores de decisão – Ao contrário dos outros métodos, utiliza valores existentes na própria base de dados – Obs.: utilização de algoritmos de MD durante o pré-processamento! Limpeza • Limpeza de inconsistências – Objetivos: correção de inconsistências • Dentro do mesmo registro • Entre registros diferentes – Identificação do problema • Exemplo: cliente com idade < 21 e crédito aprovado (regra de negócio) SELECT * FROM CLIENT WHERE (Year(SYSDATE) – Year(Data_Nasc)) < 21 AND Result = “A” – Exclusão de casos – Correção dos erros Limpeza • Limpeza de valores fora do domínio – Objetivos: correção de valores fora do domínio – Conhecimento dos domínios da aplicação – Identificação do problema • exemplo: valores contínuos - quantidade de dependentes < 0 SELECT * FROM CLIENT WHERE Num_Dep < 0 • Exemplo: valores discretos - tipo de residência = (P, A, E, F, O) SELECT * FROM CLIENT WHERE Tp_Res not in (“P”, “A”, “E”, “F”, “O”) – Exclusão de casos – Correção dos erros Limpeza • Padronização dos dados – formato de datas – abreviaturas – valores de atributos Exemplo: o atributo sexo, em fontes diferentes, pode ter os valores: M ou F, 0 ou 1, Mas ou Fem, ... Preparação de dados: Transformação de dados (será detalhado na próxima aula) Objetivo: obter os dados em uma forma mais apropriada para os algoritmos de mineração • Alisamento • Generalização • Normalização • Transformação numérico para categórico • Transformação categórico para numérico Preparação de dados: Construção de dados • Criação de novos atributos. Ex: área = comprimento x largura Ex: criar o atributo idade a partir da data de nascimento Cabeça Corpo Sorri Segura Classe Triangular Triangular Sim Balão Amigo Quadrada Quadrado Sim Balão Amigo Redonda Redondo Sim Bandeira Amigo Quadrada Triangular Não Espada Inimigo Triangular Redondo Sim Espada Inimigo Redonda Quadrado Não Bandeira Inimigo sorri sim inimigo inimigo segura bandeira ou balão amigo não espada inimigo Cabeça Corpo Sorri Segura Mesma forma Classe Triangular Triangular Sim Balão Sim Amigo Quadrada Quadrado Sim Balão Sim Amigo Redonda Redondo Sim Bandeira Sim Amigo Quadrada Triangular Não Espada Não Inimigo Triangular Redondo Não Espada Não Inimigo Redonda Quadrado Não Bandeira Não Inimigo mesma forma mesma --forma sim amigo não inimigo 4- Modelagem (Data Mining) (Data Mining) Modelagem (data mining) Corresponde a fase de Mineração de Dados utilizada por outros autores • Selecionar os algoritmos de data mining a utilizar • Gerar projeto de teste • Construir modelo: mineração propriamente dita (aplicação do algoritmo) • Avaliar o modelo ou padrões encontrados Modelagem (Data Mining) Os algoritmos de mineração normalmente são executados várias vezes, para ajustar o conjunto de parâmetros para obtenção de resultados mais satisfatórios aos objetivos pré-estabelecidos, por isso é um processo iterativo. Esses ajustes são necessários muitas vezes para melhorar a precisão ou facilitar a compreensão do conhecimento extraído. 5- Avaliação (Data Mining) 5- Avaliação • Interpretar e avaliar os resultados em relação aos objetivos do usuário • Avaliar resultados • Revisar o processo • Determinar próximos passos: ir para a fase final de disponibilização ou voltar para alguma etapa anterior 6- Disponibilização (Data Mining) 6- Disponibilização • Planejar a disponibilização: decidir a estratégia para a integração dos resultados obtidos no ambiente da organização • Planejar monitoramento e manutenção • Produzir relatório final • Revisar o projeto: avaliar pontos positivos e negativos do projeto, problemas e sugestões Descoberta de Conhecimento em Bases de Dados Esforço (%) 80 70 60 50 40 30 20 10 Etapa 0 Identificação Preparação do domínio do dados Mineração de dados Análise dos resultados Fonte: Adriaans Seminários 1. Web Crawler 2. Descoberta de conhecimento em Texto 3. Data mining na Web 2.0 4. Mineração de opinião (sentiment analysis, opinion mining): 5. Data mining em séries temporais: 6. Data mining em grafos: 7. Data mining em trajetórias de objetos móveis: 8. Data mining em redes sociais: 9. Data mining em imagens: 10.Data mining em dados geográficos: 11.Data mining em vídeos Grupos de 3 ou 4 alunos Focar nos aspectos específicos do tipo de dado utilizado: préprocessamento, algoritmos utilizados, etc. Deverá ser entregue um relatório de 5 a 10 páginas sobre o assunto, com referências bibliográficas. Grupos 1. Web Crawlers: Milton, Augusto Costa , Renata e Eduardo 2. Descoberta de conhecimento em Texto: Tiago, Mateus, Augusto, Luis Felipe 3. Data mining na Web 2.0: Lucas Juste, Mauricio Branco e Alexandre S 4. Mineração de opinião (sentiment analysis, opinion mining): Vicente Coral, Bruno Freitas, Tiago Coelho, Paulo Centeno 5. Data mining em séries temporais: Jean Pacher, Giovani, Anderson Zapello 6. Data mining em grafos: Diogo, Felipe, Joaquim 7. Data mining em trajetórias de objetos móveis: Jean, Cleto, Augusto Martins, Lucas M 8. Data mining em redes sociais: Vanoir, Augusto Pacheco, Felipe Duarte e Mateus Maso 9. Data mining em imagens: Fabio Ariate, Rayse, Fernando Almeida e Luis Eduardo 10.Data mining em dados espaciais: Gabriel, Jorge Junior, Marco Tulio 11.Data mining em vídeos: Vinicius, Próxima Aula Análise Exploratória dos Dados