Data Mining - DAINF

Propaganda
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 hH
hH
• 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
Download