Turma Especialização Pós GETIC III Gestão Tecnologia da Informação e Comunicação http://www.getic.ct.utfpr.edu.br 1 Introdução à Descoberta de Conhecimento e Mineração de Dados Prof. Celso A. A. Kaestner, Dr. Eng. http://www.dainf.ct.utfpr.edu.br/~ kaestner 2 Introdução: por que Data Mining ? O problema da explosão da quantidade de dados: ◦ Ferramentas de armazenamento automático e a maturidade da tecnologia de banco de dados, bem como o advento da Internet, levaram à criação de imensas massas de dados em data bases, data warehouses e em outros repositórios. 3 Introdução: por que Data Mining ? ◦ 1 byte = 8 bits; ◦ 1 KB = 1.024 bytes; ◦ 1 MB ~= 1.000.000 bytes; ◦ 1 GB ~= 1.000.000.000 bytes; ◦ 1 TB = 1 Terabyte ~= 1.000.000.000.000= 1012 bytes ◦ 1 PB = 1 Petabyte ~= 1000 TB ◦ 1 EB = 1 Exabyte ~= 1.000.000 TB ◦ 1 YB = 1 Yottabyte ~= 1.000.000 EB Qual o tamanho das bases de dados ? Qual o tamanho da internet ? 4 Introdução: por que Data Mining ? Fonte: Curso de Piatetsky-Shapiro 5 Top 10 Largest Databases in the World Updated: March 17, 2010 http://www.comparebusinessproducts.com/fyi/10-largestdatabases-in-the-world US Library of Congress: ◦ ◦ ◦ ◦ ◦ ◦ 130 million items (books, photographs, maps, etc) 29 million books 10,000 new items added each day 530 miles of shelves 5 million digital documents 20 terabytes of text data 6 Tamanho da Internet Tamanho da Internet (2003, em Terabytes): Surface Web Deep Web 167 91.850 Email (originals) Instant messaging TOTAL 440.606 274 532.897 Fonte: How Much Information 2003 7 Tamanho da Internet http://www.factshunt.com/2014/01/total-number-of-websites-size-of.html 8 Tamanho da Internet Números relacionados a Websites: • • • • • 759 Million - Total number of websites on the Web 510 Million - Total number of Live websites (active). 103 Million - Websites added during the year i.e 2013 43% of the top 1 million websites are hosted in USA itself. 48% of the top 100 blogs/websites run on powerful WordPress. • 23% - Increase in the average page size of a website. • 13% - Decrease in the average page-load time. 9 Tamanho da Internet Número de Domínios registrados: • 132.21 Million - Domains with '.Com' extension. • 328 Million - Registered Domains in the year i.e 2013. • 313.44 Million - Top Level Domains on the Net (.com, .org, .net, .gov etc.) • 1193 Million - Total number of registered Domains on the net (TLD's, ccTLD's etc.) • 35.24% - Market share of 'GoDaddy.com', the Largest Domain registrar on the Planet 10 Tamanho da Internet Mas qual é o tamanho? • • • • 14.3 Trillion - Webpages, live on the Internet. 48 Billion - Webpages indexed by Google.Inc. 14 Billion - Webpages indexed by Microsoft's Bing. 672 Exabytes - 672,000,000,000 Gigabytes (GB) of accessible data. • 43,639 Petabytes - Total World-wide Internet Traffic in the year 2013. • Over 9,00,000 Servers - Owned by Google.Inc, the Largest in the world. • Over 1 Yotta-byte - Total data stored on the Internet (Includes almost everything). (1 Yotta-byte = 1,000,000,000,000,000,000,000,000 Bytes!) 11 Introdução: por que Data Mining ? ◦ Estamos nos afogando em dados, mas sedentos por informação! 12 Introdução: por que Data Mining ? A solução: data warehousing e data mining: ◦ Data warehousing e on-line analytical processing (OLAP); ◦ Extração de conhecimentos interessantes (regras, regularidades, padrões, restrições) a partir das grandes bases de dados. 13 Introdução: por que Data Mining ? Data mining (descoberta de conhecimento em Bases de Dados): Extração de padrões de informação de interesse: 1. não-trivial, 2. implícita, 3. previamente desconhecida e 4. potencialmente útil, de grandes BDs. 14 Introdução: por que Data Mining ? Dilbert explica ... 15 Introdução: por que Data Mining ? Conceitos relacionados: ◦ Descoberta de conhecimento em BD (KDD), extração de conhecimento, análise de padrões em dados, information harvesting, business intelligence, etc. O que não é data mining? ◦ Processamento dedutivo de consultas; ◦ Sistemas especialistas e pequenos programas estatísticos e de aprendizagem de máquina. 16 Introdução: por que Data Mining ? Gartner Group: “Data mining is the process of discovering meaningful new correlations, patterns and trends by sifting through large amounts of data stored in repositories, using pattern recognition technologies as well as statistical and mathematical techniques.” 17 Aplicações Análise e suporte à decisão: ◦ Análise e gerenciamento de mercado; ◦ Análise e gerenciamento de risco; e ◦ Análise e gerenciamento de fraudes. 18 Aplicações Outras aplicações: ◦ Mineração de textos (documentos, emails, news) e Web mining. ◦ Resposta inteligente a consultas. 19 Análise e gerenciamento de mercado Onde estão as fontes de dados para análise ? ◦ Transações com cartões de crédito, cartões de fidelidade, cupons de desconto, requisições de clientes e estudos sobre o estilo de vida dos clientes. Marketing dirigido: ◦ Encontra grupos de clientes “modelo” que compartilham as mesma características: interesses, salário, hábitos de consumo, etc. 20 Análise e gerenciamento de mercado Determinação de padrões de compra ao longo do tempo: ◦ Conversão de conta simples para conjunta, casamento, etc. Análise de vendas cruzadas: ◦ Associações e correlações entre vendas de produtos; ◦ Predição baseada na informação de associações. 21 Análise e gerenciamento de mercado Perfil do consumidor: ◦ data mining pode informar que tipos de consumidores compram quais produtos (agrupamento ou classificação); Identificação dos requisitos dos clientes: ◦ Identificação dos melhores produtos para os diferentes clientes; ◦ Busca de fatores que atrairão os consumidores; 22 Análise e gerenciamento de mercado Fornecimento de informação sumarizada: ◦ Relatórios multidimensionais sumarizados; ◦ Informações estatísticas sumarizadas (tendência central e variação dos dados) 23 Análise corporativa e gerenciamento de risco ◦ Planejamento financeiro e avaliação de crédito; ◦ Planejamento de recursos; ◦ Monitoramento de competidores e do mercado; ◦ Agrupamento de clientes em classes e procedimentos de preços baseados em classes; 24 Detecção e gerenciamento de fraudes Aplicações: ◦ Amplamente utilizado em serviços de cartões de crédito, telefonia celular, convênios de saúde, etc. Abordagem: ◦ Uso de dados históricos para construir modelos do comportamento fraudulento e uso de data mining para identificar instâncias similares; 25 Detecção e gerenciamento de fraudes Exemplos: ◦ Seguros de automóveis: detecção de pessoas que forjam acidentes para ganhar o seguro; ◦ Lavagem de dinheiro: detecção de transações suspeitas de dinheiro (US Treasury's Financial Crimes Enforcement Network) ◦ Seguros médicos: detecção de pacientes “profissionais” e médicos coniventes. 26 Outras aplicações ... Esportes: ◦ IBM Advanced Scout analisou as estatísticas dos jogos da NBA (cestas, bloqueios, assistências, faltas, etc) para auxiliar os times do New York Knicks e do Miami Heat; Astronomia: ◦ JPL e o Observ. do Monte Palomar descobriram 22 quasars com o auxílio de data mining; 27 A Internet como fonte de aplicações ◦ Um site de comércio eletrônico serve canal de negócios e laboratório; ◦ Pode ser limitado como canal de compra (valor do bem, segurança, privacidade ...); ◦ Como laboratório serve para testar campanhas, novos produtos, avaliar clientes, etc. 28 A Internet como fonte de aplicações Problemas: ◦ A amostra de clientes de tendenciosa; ◦ O comportamento na internet não é o mesmo do presencial; ◦ O custo de um site é elevado; ◦ Muitos robôs de busca ... 29 KDD e DM 30 Data Mining e Business Intelligence Increasing potential to support business decisions Making Decisions Data Presentation Visualization Techniques Data Mining Information Discovery End User Business Analyst Data Analyst Data Exploration Statistical Analysis, Querying and Reporting Data Warehouses / Data Marts OLAP, MDA Data Sources Paper, Files, Information Providers, Database Systems, OLTP DBA 31 KDD e Data Mining Pattern Evaluation Data mining é o coração do processo KDD Data Mining Task-relevant Data Data Warehouse Selection Data Cleaning Data Integration Databases 32 KDD e Data Mining Data Mining Data PreProcessing • • • • Integração de Dados Normalização Seleção de atributos Redução de dimensionalidade • • • • • PostProcessing Descoberta de padrões Associação & correlação Classificação Agrupamento Análise de desvios • • • • Avaliação, Seleção, Interpretação e Visualização de padrões Visão simplificada do processo de KDD 33 Passos do processo de KDD 1. Estudo sobre o domínio de aplicação: ◦ Conhecimento relevante a priori e metas da aplicação; 2. Criação de um dataset alvo: ◦ Seleção de dados; 3. Limpeza e pré-processamento dos dados: ◦ Pode corresponder a 60 % do esforço; 4. Redução e transformação dos dados: ◦ Encontrar atributos relevantes, redução de dimensionalidade, representação de invariantes; 34 Passos do processo de KDD 5. Escolha da função de data mining: ◦ Sumarização, classificação, regressão, associação, regressão, agrupamento... 6. Escolha do algoritmo de mineração: ◦ Busca aos padrões de interesse; 7. Avaliação dos padrões e apresentação do conhecimento: ◦ Visualização, transformação, remoção de redundâncias, etc. 8. Uso do conhecimento descoberto. 35 Em mais detalhes 36 Alguns conceitos fundamentais Instância (item ou registro): ◦ Um exemplo, descrito por certo número de atributos: um dia descrito por temperatura, umidade e situação das nuvens; Atributo (característica ou campo): ◦ Medida de aspectos de uma instância, como o valor da temperatura; Classe (Rótulo): ◦ Agrupamento de instâncias, e.g. dias bons para jogar tênis. 37 Alguns conceitos fundamentais Base de treinamento: ◦ Conjunto de exemplos utilizado para a geração do procedimento / estrutura que servirá para a aplicação em outros casos; Base de testes: ◦ Conjunto de exemplos que será utilizado para verificar a “eficiência” do procedimento de DM gerado, permitindo o cálculo de “taxa de acerto”, etc. 38 Alguns conceitos fundamentais Desafio principal: Encontrar padrões verdadeiros nos dados e evitar o “overfitting”: padrões que parecem significantes mas são aleatórios ou que só funcionam para o conjunto de treinamento dado. 39 Funcionalidades da Mineração de Dados 1. Associação: descoberta de relações de correlação e causalidade; 2. Classificação: encontrar modelos que descrevem e distinguem classes para futura predição; 3. Agrupamento: reunir os dados segundo grupos similares (intra-grupo) e diferenciados (intergrupos); 4. Detecção de Desvios: encontrar dados que não seguem a tendência apresentada pelos demais dados. 40 Regras de associação Transações TID Produce 1 MILK, BREAD, EGGS 2 BREAD, SUGAR 3 BREAD, CEREAL 4 MILK, BREAD, SUGAR 5 MILK, CEREAL 6 BREAD, CEREAL 7 MILK, CEREAL 8 MILK, BREAD, CEREAL, EGGS 9 MILK, BREAD, CEREAL Conjuntos de itens frequentes Milk, Bread (4) Bread, Cereal (3) Milk, Bread, Cereal (2) … Regra: Milk => Bread (suporte: 4/9, confiança: 4/6) 41 Classificação e Predição • A partir de uma tabela previamente conhecida, determinar a classe a partir de atributos previsores; • Classificação: atributo classe nominal; • Predição: atributo numérico (contínuo). 42 Classificação Training Data NAME M ike M ary B ill Jim D ave A nne RANK YEARS TENURED A ssistant P rof 3 no A ssistant P rof 7 yes P rofessor 2 yes A ssociate P rof 7 yes A ssistant P rof 6 no A ssociate P rof 3 no Classification Algorithms Classifier (Model) IF rank = ‘professor’ OR years > 6 THEN tenured = ‘yes’ 43 Classificação Classifier Testing Data Unseen Data (Jeff, Professor, 4) NAME T om M erlisa G eorge Joseph RANK YEARS TENURED A ssistant P rof 2 no A ssociate P rof 7 no P rofessor 5 yes A ssistant P rof 7 yes Tenured? 44 Agrupamento (clustering) • O objetivo é agrupar os dados de acordo com grupos previamente desconhecidas; • O agrupamento é baseado na maximização da similaridade intra-grupo e minimização da similaridade inter-grupos. 45 Análise de desvios (outlier analysis) • Desvio (outlier): objeto que não está em conformidade com o comportamento geral dos dados; • Pode ser considerado como ruído ou exceção mas é útil no caso da detecção de fraudes, análise de eventos raros, etc. 46 Visualização dos resultados Visualizar adequadamente os dados facilita sobremaneira a análise 47 Todos os padrões descobertos são interessantes ? • Nem todos os padrões gerados podem ser interessantes; • Abordagem sugerida: centrada no usuário e na aplicação, que deve dirigir o processo de mineração; • Um padrão é interessante se for facilmente compreendido, válido em um conjunto de dados novo / de teste com certo grau de certeza, potencialmente útil e anteriormente desconhecido, ou validando alguma hipótese que se deseja confirmar. 48 Mineração de Dados é um campo multidisciplinar Database Technology Machine Learning Information Science Statistics Data Mining Visualization Other Disciplines 49 Sumário Data mining: descoberta de padrões interessantes em grandes quantidades de dados; DM é uma evolução natural da tecnologia de DB, com grande número de possíveis aplicações; O processo de KDD inclui a limpeza, integração, seleção e transformação dos dados, data mining, avaliação dos padrões e apresentação do conhecimento; A mineração pode ser executada em vários repositórios de informação; Funcionalidades do DM: associação, classificação, agrupamento, detecção de desvios. 50 Referências ◦ P-N. Tan; M. Steinbach; V. Kumar. Introdução ao Data Mining. Ciência Moderna, 2009. ◦ J. Han, M. Kamber. Data Mining: Concepts and Techniques. Morgan Kaufmann, 2000. ◦ R. Goldschmidt; E. Passos. Data Mining: um Guia Prático. Editora Campus, 2005. ◦ I.H.Witten, E. Frank. Data Mining: Practical Machine Learning Tools and Techniques with JAVA Implementations. Morgan Kaufmann, 2000. ◦ R. O. Duda; P. E. Hart; D. G. Stork. Pattern Classification (2nd. Ed.) John Wiley and Sons Inc., 2001 ◦ P. Adriaans, D. Zantinge. Data Mining. Addison-Wesley, 1996. 51 Como funciona ? 52 Classificador bayesiano (Naïve Bayes) • Aprendizagem probabilista: calcula a probabilidade explícita das hipóteses; • 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óteses podem ser previstas; • Fornece uma referência para comparação com outros métodos. Classificador bayesiano (Naïve Bayes) Fundamento: Teorema de Bayes; • Dado um conjunto de treinamento D, a probabilidade a posteriori de uma hipótese h, P(h|D) é dada por: P ( D | h ) P ( h ) P(h | D) P(D) • A probabilidade máxima a posteriori MAP é: h arg max P(h | D) arg max P(D | h)P(h). MAP hH hH • Simplificação (naïve): independência dos atributos. Exemplo: jogar ou não tênis ? Outlook sunny sunny overcast rain rain rain overcast sunny sunny rain sunny overcast overcast rain Temperature Humidity Windy Class hot high false N hot high true N hot high false P mild high false P cool normal false P cool normal true N cool normal true P mild high false N cool normal false P mild normal false P mild normal true P mild high true P hot normal false P mild high true N outlook P(sunny|p) = 2/9 P(sunny|n) = 3/5 P(overcast|p) = 4/9 P(overcast|n) = 0 P(rain|p) = 3/9 P(rain|n) = 2/5 temperature P(hot|p) = 2/9 P(hot|n) = 2/5 P(mild|p) = 4/9 P(mild|n) = 2/5 P(cool|p) = 3/9 P(cool|n) = 1/5 humidity P(p) = 9/14 P(n) = 5/14 P(high|p) = 3/9 P(high|n) = 4/5 P(normal|p) = 6/9 P(normal|n) = 2/5 windy P(true|p) = 3/9 P(true|n) = 3/5 P(false|p) = 6/9 P(false|n) = 2/5 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). Árvores de Decisão • Estruturas do tipo “fluxograma”; • Nós internos denotam testes em atributos; • Ramos representam saídas dos testes; • Nós folha representam rótulos de classe. 57 Árvores de Decisão Exemplo: ID3 de Quinlan age <=30 <=30 31…40 >40 >40 >40 31…40 <=30 <=30 >40 <=30 31…40 31…40 >40 income student credit_rating high no fair high no excellent high no fair medium no fair low yes fair low yes excellent low yes excellent medium no fair low yes fair medium yes fair medium yes excellent medium no excellent high yes fair medium no excellent buys_computer no no yes yes yes no yes no yes yes yes yes yes no 58 Árvores de Decisão age? <=30 student? overcast 30..40 yes >40 credit rating? no yes excellent fair no yes no yes Buys computer ? 59 Árvores de Decisão • A ordem de avaliação dos atributos é importante: no caso do ID3, C4.5, J48 utiliza-se a ordenação por ganho de informação, relacionado à entropia, o que produz árvores menores; • Representação por regras IF-THEN: –Uma regra para cada caminho da raiz à folha; –Cada par (atributo, valor) forma um teste; –Cada folha determina a classe prevista; Árvores de Decisão •Regras são de 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” Exemplo 62 Exemplo de aplicação Uso da ferramenta WEKA (Waikato Enviroment for Knowledge Aquisition): • Ferramenta em código aberto para Mineração de Dados http://www.cs.waikato.ac.nz/ml/weka/ • Usada também na plataforma Pentaho http://www.pentaho.com/; • Vários procedimentos para pré-processamento, associação, classificação, agrupamento, análise de resultados... Exemplo de aplicação Arquivo de entrada do WEKA – formato “arff”: • • • • • • • • • • • @RELATION iris @ATTRIBUTE sepallength REAL @ATTRIBUTE sepalwidth REAL ... @ATTRIBUTE class {Iris-setosa,Iris-versicolor,Irisvirginica} @DATA 5.1,3.5,1.4,0.2,Iris-setosa 4.9,3.0,1.4,0.2,Iris-setosa 4.7,3.2,1.3,0.2,Iris-setosa 4.6,3.1,1.5,0.2,Iris-setosa ... Exemplo de aplicação O arquivo “IRIS”: • Objetivo: classificar o tipo da planta IRIS de acordo com os atributos preditores; • 4 atributos preditores: comprimento e largura da pétala e da sépala (em cm); • 150 instâncias, 50 de cada classe; • 3 classes: IRIS-SETOSA, IRIS-VERSICOLOR e IRISVIRGINICA. Exemplo de aplicação IRIS e Naïve-Bayes: • “Hold-out” com 66 %, 33%; • Instâncias classificadas corretamente: 48 => 94.1176% • Matriz de confusão: a b c <-- classified as 15 0 0 | a = Iris-setosa 0 18 1 | b = Iris-versicolor 0 2 15 | c = Iris-virginica Exemplo de aplicação IRIS e J48: • “Hold-out” com 66 %, 33%; • Instâncias classificadas corretamente: 49 => 96.0784 % • Matriz de confusão: a b c <-- classified as 15 0 0 | a = Iris-setosa 0 19 0 | b = Iris-versicolor 0 2 15 | c = Iris-virginica Exemplo de aplicação IRIS e Rede Neural Multilayer Perceptron: • “Hold-out” com 66 %, 33%; • Instâncias classificadas corretamente: 50 => 98.0392 % • Matriz de confusão: a b c <-- classified as 15 0 0 | a = Iris-setosa 0 19 0 | b = Iris-versicolor 0 1 16 | c = Iris-virginica FIM 69