Turma Especialização Pós GETIC III
-Gestão Tecnologia da Informação e
Comunicação
http://www.getic.ct.utfpr.edu.br
Introdução à Descoberta de
Conhecimento e Mineração de Dados
Pro f . Ce l s o A. A. Ka e s t n e r, Dr. En g .
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.
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 EB5
Fonte: Curso de Piatetsky-Shapiro
Updated: March 17, 2010
http://www.comparebusinessproducts.com/fyi/10-largest-databases-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
Tamanho da Internet
Tamanho da Internet (2003, em Terabytes):
7 Surface Web 167 Deep Web 91.850 Email (originals) 440.606 Instant messaging 274 TOTAL 532.897
Tamanho da Internet
9
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.
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.)
Tamanho da Internet
11
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).
◦ Estamos nos
afogando em dados, mas sedentos por informação!
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
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.
15
Dilbert explica ...
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
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;
Aplicações
Outras aplicações:
◦
Mineração de textos (documentos, emails, news) e
Web mining.
◦
Resposta inteligente a consultas.
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
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.
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;
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)
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
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;
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)
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;
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 ...);
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 ...
Data Mining e Business Intelligence
31
Increasing potential to support
business decisions End User
Business Analyst Data Analyst DBA Making Decisions Data Presentation Visualization Techniques Data Mining Information Discovery Data Exploration OLAP, MDA
Statistical Analysis, Querying and Reporting Data Warehouses / Data Marts
Data Sources
KDD e Data Mining
Data mining é o coração do processo KDD
KDD e Data Mining
33 Data Mining Data Pre-Processing Post-Processing • Integração de Dados • Normalização • Seleção de atributos • Redução de dimensionalidade • 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ões1. 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:
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
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
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.
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
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
(inter-grupos);
4.
Detecção de Desvios:
encontrar dados que não
Regras de associação
41
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
Transações Conjuntos de itens
frequentes Milk, Bread (4) Bread, Cereal (3) Milk, Bread, Cereal (2)
…
Regra: Milk => Bread
Classificação e Predição
•
A partir de uma tabela previamente conhecida,
determinar a classe a partir de atributos
previsores;
Classificação
43 Training Data N A M E R A N K Y E A R S T E N U R E D M ik e A ssistan t P ro f 3 n oM ary A ssistan t P ro f 7 yes B ill P ro fesso r 2 yes J im A sso c iate P ro f 7 yes D ave A ssistan t P ro f 6 n o A n n e A sso c iate P ro f 3 n o Classification Algorithms IF rank = ‘professor’ OR years > 6
THEN tenured = ‘yes’ Classifier
Agrupamento (clustering)
45
• O objetivo é agrupar os dados de acordo com
grupos previamente desconhecidas;
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,
47
Visualizar adequadamente os dados facilita
sobremaneira a análise
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
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;
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.
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;
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:
Exemplo: jogar ou não tênis ?
Outlook Temperature Humidity W indy Class sunny hot high false N
sunny hot high true N
overcast hot high false P rain mild high false P rain cool normal false P rain cool normal true N overcast cool normal true P sunny mild high false N sunny cool normal false P rain mild normal false P sunny mild normal true P overcast mild high true P overcast hot normal false P
rain mild high true N
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
Árvores de Decisão
57
• Estruturas do tipo “fluxograma”;
• Nós internos denotam testes em atributos;
• Ramos representam saídas dos testes;
Árvores de Decisão
age income student credit_rating buys_computer
<=30 high no fair no
<=30 high no excellent no
31…40 high no fair yes
>40 medium no fair yes
>40 low yes fair yes
>40 low yes excellent no
31…40 low yes excellent yes
<=30 medium no fair no
<=30 low yes fair yes
>40 medium yes fair yes
<=30 medium yes excellent yes
31…40 medium
Árvores de Decisão
59
age?
overcast
student? credit rating?
no yes excellent fair
<=30 >40
no yes no yes
yes
30..40
Á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;
Á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”
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,
Exemplo de aplicação
Arquivo de entrada do WEKA – formato “arff”:
• @RELATION iris
• @ATTRIBUTE sepallength REAL • @ATTRIBUTE sepalwidth REAL • ...
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;
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
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
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
69