Escolar Documentos
Profissional Documentos
Cultura Documentos
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
Data Mining
We are drowning in information, but starving for knowledge John Naisbett Crescimento explosivo na capacidade de gerar, coletar e armazenar dados:
Cientcos: imagens, sinais. Sociais: censos, pesquisas. Econmicos e comerciais: transaes bancrias e comerciais, compras, ligaes telefnicas, transaes com cdigo de barras e RFID. Sistemas: logs.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
Data Mining
Walmart: 20 milhes de transaes por dia (em 1994), banco de dados de 24 terabytes. INPE: 130 terabytes de dados de imagens.
SLAC (Stanford Linear Accelerator Center): 200 terabytes/ano, 10 megabytes/segundo por 10 anos. 2 petabytes = 2.097.152 gigabytes =440.000 DVDs = pilha de 4.4km de altura. Estimativa que o CERN precisar de armazenamento duas ordens de magnitude superior.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
Data Mining
Europes Very Long Baseline Interferometry (VLBI): 16 telescpios, cada um produz 1 gigabit/segundo de dados astronmicos em sesses de 25 dias = 4 terabytes. Wayback machine: 1 petabyte, 20 terabytes/ms (55 bilhes de pginas em maro de 2006). Yahoo!: 100 terabytes. AT&T: 93 terabytes. Amazon: 24 terabytes. Verizon Communications: 7 terabytes.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
Data Mining
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
Data Mining
Como identicar...
O que existe de interessante nestes dados? Como denir interessante? Informao, e no dados, valem dinheiro/tempo/conhecimento!
Padres (X acontece se...) Excees (isto diferente de... por causa de...) Tendncias (ao longo do tempo, Y deve acontecer...) Correlaes (se M acontece, N tambm deve acontecer)
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
Parte do processo de descoberta de conhecimentos em bancos de dados (Knowledge Discovery in Databases, KDD). KDD: Processo geral de descoberta de conhecimentos teis previamente desconhecidos a partir de grandes bancos de dados (adaptado de Fayyad, 1996)
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
KDD
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
10
KDD
Processo de KDD:
1. Compreender o domnio da aplicao, entender as expectativas do usurio nal do processo. 2. Criar/selecionar uma coleo de dados para aplicao. 3. Pr-processar e limpar os dados (eliminar impurezas e dados irrelevantes). 4. Transformar (reduzir e reprojetar) os dados (encontrar atributos teis e interessantes). 5. Escolher a tarefa, mtodos, modelos, parmetros etc. do processo de minerao de dados e executar este processo. 6. Interpretar os resultados, iterar se necessrio. 7. Consolidar o conhecimento adquirido, resolver conitos, iterar se necessrio.
http://www.lac.inpe.br/~rafael.santos 11
Novembro/2006
O processo de KDD iterativo, portanto Data Mining tambm o . Data Mining no mgica: Garbage in, garbage out.
Novembro/2006 http://www.lac.inpe.br/~rafael.santos 12
Estatstica e Matemtica. Computao aplicada (inteligncia articial, reconhecimento de padres, aprendizado por mquina). Visualizao de dados, computao grca. Bancos de dados. Sistemas distribudos, algoritmos paralelos, alta performance.
Classicao:
Regresso ou Predio:
Aprendizado de uma funo que mapeia um dado em uma de vrias classes conhecidas. Aprendizado de uma funo que mapeia um dado em um ou mais valores reais. Identicao de grupos de dados onde os dados tem caractersticas semelhantes com os do mesmo grupo e onde os grupos tenham caractersticas diferentes entre si.
Agrupamento (clustering):
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
13
Sumarizao:
Descrio do que caracteriza um conjunto de dados (ex. conjunto de regras). Identicao de dados que deveriam seguir um padro mas no o fazem. Identicao de fenmenos que apresentam co-ocorrncia (ex. cesta de compras).
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
14
Data Mining
Amazon.com: melhoria da customizao da interface com o usurio (melhoria de vendas por indicao), eliminao de fraudes. U.S. Census Bureau: anlise de dados espaciais de ensino pblico para determinar polticas para melhoria na educao. Columbia Interactive/Columbia University: Anlise de visitas a sites, coletando trilhas de usurios (como usam o site, que pginas so mais atraentes para usurios, quando usurios deixam o site) para melhorar interatividade e planejar contedo. Verizon Wireless: reduo de churn de 2 para menos de 1.5 por cento: de 34.6 milhes de usurios, aproximadamente 170.000 foram retidos.
http://www.lac.inpe.br/~rafael.santos 15
Novembro/2006
Data Mining
argonauten360o: Consultoria para empresa de telecomunicaes que prov servios call-by-call de telefonia mvel. Estudou volume de trfego minuto a minuto e identicou possveis faixas de uso onde melhor competitividade podia ser alcanada. IMS America: Empresa de pesquisa de mercado farmacutico do mundo, mantm um banco de dados de 1.5 bilhes de prescries de 600.000 mdicos, usadas em 33.000 farmcias para identificar mudana de padro em prescries. Harrahs Entertainment Inc.: Dobrou lucros usando informaes de cartes de jogadores freqentes, identicando grupo de jogadores que gastavam pouco mas geravam muito lucro, criou promoes diferenciadas.
http://www.lac.inpe.br/~rafael.santos 16
Novembro/2006
Data Mining
Gazelle.com (caso simulado): Tentativa de segmentar e caracterizar clientes; custo de DM excedia lucro possvel. Drinking diet drinks leads to obesity, de Piero Bonissone: confuso entre causa e conseqncia. Total Information Awareness: Projeto do departamento de defesa dos EUA para detetar atividade terrorista: no tecnicamente um fracasso, mas causou forte reao pblica. Caso apcrifo: data mining de cartes de delidade achou padro especco de consumo de mulheres divorciadas (muitas divorciadas no indicavam este status nos cadastros).
17
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
18
Conceitos
Colunas
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
19
Pr-Processamento
Etapa crucial de minerao de dados! No caso particular de anlise de logs, indispensvel, custosa e problemtica! Potencialmente deve ser feita e refeita juntamente com a aplicao das diversas tcnicas. Algumas tcnicas:
Transformao dos atributos Enriquecimento dos dados Reduo do conjunto de atributos Reduo de dados
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
20
Pr-Processamento: Transformao
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
21
Pr-Processamento: Transformao
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
22
Pr-Processamento
Exemplo: IPs podem ser mapeados para regies geogrficas. Documentos em um log de httpd podem ser verificados para informaes adicionais. Informaes auxiliares podem ser integradas, logs podem ser relacionados.
Atributos irrelevantes podem ser retirados ou transformados. Exemplo: diferentes representaes de tempo. Pode ser muito complexo determinar que atributos so relevantes ou no (usar conhecimento do domnio da aplicao!)
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
23
Pr-Processamento
Remover dados redundantes ou irrelevantes. Como determinar o que irrelevante? Uma alternativa quando temos muitas entradas com atributos incompletos ou pouco confiveis. Pode facilitar aplicao de alguns algoritmos: segmentao do problema e dos dados relacionados.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
24
Alguns conceitos
Espao de atributos:
Para cada evento ou entrada em um log temos medidas (numricas ou no) de atributos. Estas medidas podem ser visualizadas como pontos em grficos N-dimensionais, onde os eixos so os atributos. Visualizao um artifcio, usaremos o conceito de proximidade como semelhana.
Atributo 2
Atributo 1
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
25
Tcnicas: Classificao
Como entrada, temos muitos dados para os quais as classes so conhecidas. Criamos um classicador ou modelo (fase de treinamento). Como entrada em uma segunda fase, temos vrios dados para os quais as classes no so conhecidas. Usamos o classicador para indicar classes para estes dados. Assumimos que dados desconhecidos prximos de dados conhecidos tero a mesma classe dos dados conhecidos.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
26
Tcnicas: Classificao
?
Atributo 2 Atributo 2
?
Atributo 1 Atributo 1
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
27
Tcnicas: Classificao
Atributo 1
Atributo 2
Atributo 2
Atributo 1
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
28
Tcnicas: Classificao
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
29
Tcnicas: Associao
Dados de entrada: estruturas com associaes (ex. lista de artigos comprados, pequenas sries temporais multivariadas, etc.). Algoritmo identica a existncia de elementos em comum e suporte para esta existncia.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
30
Tcnicas: Associao
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
31
Dados em um grupo devem apresentar alguma semelhana entre si. Dados em um grupo devem ser diferentes de dados em outros grupos. Dados de entrada: no precisam ter indicaes de classe. Algoritmo identica determinado nmero de grupos de dados e calcula a associao dos dados de entrada aos grupos de sada. Adicionalmente estatsticas e outras informaes sobre os grupos podem ser criadas.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
32
Atributo 2
Atributo 1
Atributo 2
Atributo 1
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
33
Como entrada, temos muitos dados para os quais as classes (valores contnuos) so conhecidas. Com isso criamos um classicador ou funo de regresso. Como entrada em uma segunda fase, temos vrios dados para os quais os valores das classes no so conhecidos. Usaremos a funo de regresso para identificar a classe. Alguns pontos em comum com classicao (treinamento, criao de modelo, uso, vericao e avaliao).
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
34
Salrio = 141.65 * idade + 955.95 (erro 29.3%) Poupana = 130.8 * idade + 1056.85 (erro 82.6%) Lazer = -24.53 * idade + 1909.07 (erro 88.3%)
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
35
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
36
Visualizao
Etapa importante: apresentao grfica de resultados. Pode ser usada tambm como ferramenta no prprocessamento Permite visualizao de estruturas dos dados (separabilidade, distribuies). Tpico interessante, porm complexo (dimenses, tipos de atributos, etc.)
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
37
Visualizao
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
38
Visualizao
Prosection Views (Daniel Keim)
Chernoff Faces
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
39
Visualizao
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
40
Visualizao
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
41
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
42
rvores de Deciso
A partir de dados rotulados de entrada, cria rvores que permitem tomar decises usando atributos. Divises na rvore so criadas considerando a minimizao da entropia dos dados em um galho. Criao recursiva.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
43
rvores de Deciso
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
44
rvores de Deciso
Cnodies:
Classificao: testes sobre uma base de dados que indica a classe a partir dos valores dos atributos de entrada.
Para determinar que ns sero criados temos que ter instncias com classes denidas. Devemos saber tambm qual o atributo a ser usado como classe.
Ns em uma rvore de deciso: testes sobre os atributos. Folhas: determinao das classes.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
45
Algoritmo bsico: para cada amostra com classe desconhecida, comparamos a distncia dela para cada amostra com classe conhecida. Usamos a classe da amostra mais prxima. Cria hipersuperfcies de separao.
Novembro/2006 http://www.lac.inpe.br/~rafael.santos 46
Bastante intuitivo: se uma amostra de classe desconhecida estiver bem prxima de uma de classe conhecida, as classes devem ser as mesmas. No criamos prottipos ou assinaturas para as classes conhecidas: usamos as amostras com classes conhecidas como prottipos.
Desvantagens:
Permite boa classicao independentemente do modelo de distribuio dos dados. No sofre de problemas de criao de assinaturas causados por exemplo, por nmero pequeno de amostras. Resultado difcil de sumarizar (ex. comparado com regras ou rvores de deciso). Sujeito inuncia de outliers. Problemas para comparao de valores no-numricos.
http://www.lac.inpe.br/~rafael.santos 47
Novembro/2006
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
48
Neurnios processam valores de entrada e apresentam um de sada (classe). Vrios neurnios articiais conectados com vrias camadasscompem uma rede neural.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
49
Cada entrada xn tem um peso multiplicativo associado wn. Podemos ter uma
entrada adicional (b ou bias) O neurnio calcula combinao linear das entradas e pesos e aplica um limiar (funo T) que determina a sada do neurnio. O treinamento feito atravs da apresentao de entradas e resultados conhecidos (classicao supervisionada) e ajuste dos pesos com algoritmos especcos.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
50
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
51
Vantagens:
Desvantagens:
Capacidade de separar bem classes no linearmente separveis (com mltiplas camadas). Existem vrias implementaes, muitos parmetros para ajuste fino. Complexidade do mecanismo de classicao (caixa preta) e interpretao dos resultados. Treinamento pode ser complexo (computacionalmente caro), denio da arquitetura tambm. Existem vrias implementaes, muitos parmetros para ajuste fino.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
52
Clustering K-Mdias
Entrada: instncias, medida de distncia, nmero de grupos (K). Sada: centrides dos grupos, pertinncia das instncias aos grupos, mtricas. O algoritmo tenta minimizar o erro quadrtico calculado entre as instncias e os centrides dos grupos.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
53
Clustering K-Mdias
Algoritmo:
1. Inicializamos os centrides dos K grupos. 2. Marcamos cada instncia como pertencente ao grupo (centride) mais prximo. 3. Recalculamos os centrides dos grupos considerando as pertinncias. 4. Recalculamos o erro quadrtico total. 5. Vericamos as condies de parada e repetimos a partir do passo 2.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
54
Clustering K-Mdias
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
55
Clustering K-Mdias
Problemas:
Somente dados numricos! Mltiplas iteraes com todos os dados: problemas de performance. Inicializao: como escolher centrides iniciais (impacto na convergncia). Converge para um mnimo local: pode ser bom o suciente. Singularidades: grupos sem instncias relacionadas.
No podemos calcular seus centrides. Podemos resolver com a eliminao de grupos vazios (complexo, caro?)
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
56
Clustering Hierrquico
Algoritmos hierrquicos de agrupamento formam uma srie de parties dos dados onde cada partio contm um nmero menor de grupos do que a partio anterior. Passos do algoritmo:
1. Considere todas as instncias como grupos. Os centros destes grupos so os valores da prpria instncia. 2. Crie uma matriz de distncias que indique a distncia de cada grupo a cada outro grupo. 3. Localize, nesta matriz, os dois grupos com menor distncia entre eles, e efetue a unio destes grupos. 4. Se ainda houver dois ou mais grupos, volte ao passo 2.
http://www.lac.inpe.br/~rafael.santos 57
Novembro/2006
Clustering Hierrquico
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
58
Clustering Hierrquico
Resultado: dendograma.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
59
Regras de Associao
Se X ocorre na base de dados, ento Y tambm ocorre (com alguma relao a X). Co-ocorrncia: se X, Y e Z ocorrem na base de dados ento A tambm ocorre (com alguma relao X, Y e Z).
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
60
Regras de Associao
Regras devem ter mtricas que indiquem usabilidade: Signicncia em uma associao: ela pode existir mas ser muito rara em uma base de dados.
Conana em uma associao: o antecedente pode ocorrer vrias vezes na base de dados mas nem sempre com o mesmo conseqente associado.
Suporte X Y : nmero de casos que contm X e Y dividido pelo nmero total de registros.
Conana X Y : nmero de registros que contm X e Y dividido pelo nmero de registros que contm X.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
61
Regras de Associao
Algoritmo APriori Um dos mais conhecidos, base de muitos outros. Denies necessrias:
K-itemsets so conjuntos com K itens que podem aparecer na base de dados. Suporte mnimo o valor mnimo do suporte para que um K-itemset seja considerado. Conana mnima um limite para ltragem das associaes descobertas pelo algoritmo.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
62
Regras de Associao
1. Dados de entrada: coleo de dados associados, suporte mnimo, conana mnima. 2. Considerar K = 1 para criao de K-itemsets. 3. Criar uma tabela de K-itemsets com suporte acima do suporte mnimo. 4. Criar com os itemsets ltrados um conjunto de candidatos a (K+1) itemsets. 5. Usar propriedades do Apriori para eliminar itemsets infreqentes. 6. Repetir desde o passo 3 at que o conjunto gerado seja vazio. 7. Listar regras de associao (com permutaes) e aplicar limite de conana.
http://www.lac.inpe.br/~rafael.santos 63
Novembro/2006
Regras de Associao
Vantagens:
Desvantagens:
Um dos poucos algoritmos de processamento simblico, aplicvel para deteco de co-ocorrncias. Algoritmo simples, vrias implementaes. Tempo de processamento e uso intensivo de memria. Difcil decidir valores dos parmetros. No pode usar diretamente valores numricos. Freqentemente requer anlise das regras encontradas!
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
64
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
65
O objetivo da anlise vericar se possvel construir um mecanismo que separe o mais corretamente possvel sesses correspondentes a um acesso normal de sesses correspondentes a ataques ou tentativas de invaso. Pr-processamento j foi feito (sesses j foram reconstitudas). Usaremos tcnicas de classificao supervisionada.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
66
Atributos usados:
Temos 1549 dados com classe normal e 2531 com classe attack.
session_time: Durao da sesso em segundos; cli_packets: Nmero de pacotes enviados pelo cliente; cli_bytes: Quantidade de bytes enviados pelo cliente; srv_packets: Nmero de pacotes enviados pelo servidor; srv_bytes: Quantidade de bytes enviados pelo servidor; class: Se a sesso foi pr-classicada como suspeita ou no. A classe pode ter dois valores: normal ou attack.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
67
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
69
Correctly Classified Instances Incorrectly Classified Instances a 1513 45 b <-- classified as 36 | a = normal 2486 | b = attack
3999 81
98.0147 % 1.9853 %
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
70
srv_packets_num <= 4 | cli_bytes <= 92: attack (142.0/5.0) | cli_bytes > 92 | | srv_bytes <= 120: attack (32.0/7.0) | | srv_bytes > 120: normal (1038.0/33.0) srv_packets_num > 4 | srv_bytes <= 1800: attack (2320.0/16.0) | srv_bytes > 1800 | | srv_bytes <= 2980 | | | srv_packets_num <= 13: normal (36.0/1.0) | | | srv_packets_num > 13: attack (25.0/4.0) | | srv_bytes > 2980: normal (487.0/10.0)
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
71
a b <-classified as 1516 33 | a = normal 36 2495 | b = attack Correctly Classified Instances 4011 Incorrectly Classified Instances 69
Novembro/2006
98.3088 % 1.6912 %
72
http://www.lac.inpe.br/~rafael.santos
3954 126
96.9118 % 3.0882 %
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
73
1 minuto
2 minutos
6 minutos
% %
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
74
3978 102
97.5 2.5
% %
http://www.lac.inpe.br/~rafael.santos
75
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
76
America On-Line: provedor de acesso. Tem aplicao com interface prpria e mecanismo de busca integrado. Funcionrios da empresa fizeram uma pesquisa:
Termos usados por mais de 650.000 usurios foram coletados entre maro e maio de 2006, totalizando quase onze milhes de entradas. Os usurios estavam anonimizados, isto , somente nmeros aparentemente seqenciais mas fora de um padro foram usados para identicar quem fez as buscas. Por um descuido, a base de dados (um arquivo de texto de aproximadamente 2.5 gigabytes, descompactado) acabou sendo disponibilizada temporariamente na Internet
http://www.lac.inpe.br/~rafael.santos 77
Novembro/2006
Apesar da anonimizao dos usurios, padres de comportamento interessantes (e at mesmo bizarros!) puderam ser observados. possvel observar termos co-ocorrentes freqentes nesta base de dados?
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
78
Pr-processamento:
Anonimizao total: nem mesmo o nmero de usurio ser usado. Todas as buscas de cada usurio foram consideradas. Procuramos a existncia de ao menos uma das palavras-chave nas buscas efetuadas. Palavras-chave: car, family, travel, loan, school, debt, mortgage, college, savings, marriage, wedding, children, work, money, dog, party, beer, pizza, wine e liquor. Somente 65.000 usurios foram considerados.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
79
? ? ? ? ? ? ?
, ? , , ? , , ? , , ? , , ? , , ? , ,sim,
? ? ? ? ? ? ?
? ? ? ? ? ? ?
, ? , , ? , , ? , , ? , , ? , , ? , ,sim,
? ? ? ? ? ? ?
, , , , , , ,
? ? ? ? ? ? ? 80
http://www.lac.inpe.br/~rafael.santos
Best rules found: 1. college=sim 2518 ==> school=sim 793 conf:(0.31) 2. family=sim 1325 ==> school=sim 399 conf:(0.3) 3. car=sim 2524 ==> school=sim 519 conf:(0.21) 4. school=sim 3955 ==> college=sim 793 conf:(0.2) 5. school=sim 3955 ==> car=sim 519 conf:(0.13) 6. school=sim 3955 ==> family=sim 399 conf:(0.1)
Se um usurio procurou por college tambm procurou por school. 2518 usurios procuraram por college e 793 por school, e a conana nesta regra 0.31. A regra 4 mostra quantas pessoas procuraram por school e tambm por college e a conana diferente (j que o antecedente e o conseqente trocaram de posio).
http://www.lac.inpe.br/~rafael.santos 81
Novembro/2006
Apesar do algoritmo ser muito bom para encontrar itemsets ele pode ficar inaplicvel se usarmos muito mais palavraschave e/ou nmero de usurios. Busca por palavras-chave (tanto no exemplo quanto em mecanismos de busca) ineficiente:
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
82
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
83
Foi falncia em 2001, depois de um escndalo causado por declaraes contbeis fraudulentas (perdas no declaradas).
Considerada uma das maiores empresas do mundo (faturamento de 111 bilhes de dlares em 2000). Eleita por seis anos consecutivos como Companhia mais inovadora dos EUA pela revista Fortune. Altamente envolvida com financiamento de candidados polticos.
Preo das aes caiu de Us$ 90.00 para Us$ 0.30. Causou enorme tumulto social!
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
84
Em Outubro de 2004 a Comisso Federal de Regulamentao de Energia disponibilizou mensagens de email de executivos da Enron como parte da investigao.
Diferentes verses com diferentes caractersticas foram disponibilizadas. Houve algum esforo de proteo dos inocentes.
Aprox. 400 megabytes (.tar.gz) ~1.8 gigabytes (.tar) ~520.000 mensagens, organizadas por recipientes (153) e por folders.
http://www.lac.inpe.br/~rafael.santos 85
Novembro/2006
O que queremos encontrar? Existe algum padro no uso de palavras-chave nas mensagens em funo do tempo? Que informaes e conhecimento podemos esperar de um processo automatizado?
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
87
Existe algum padro no uso de palavras-chave nas mensagens em funo do tempo? Pr-Processamento:
Ler todas as mensagens, descartando folders. Armazenar nome do recipiente, ms/ano, ocorrncia das palavraschave business, investigation, sell, president, government, corruption, millions, bankruptcy, profit, scandal. Descartar entradas que no contm nenhuma das palavras-chave.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
88
@relation enron @attribute recipiente {stepenovitch-j, steffes-j, lavorato-j, parks-j, martin-t, hodge-j, lay-k, shapiro-r, scholtes-d, haedicke-m, keavey-p, corman-s, farmer-d, pereira-s, salisbury-h, gilbertsmith-d, quigley-d, ... , staab-t} @attribute data {Jun2002, Jun2001, Jun2000, Dec2043, Jan2000, Jan2001, Apr2002, Jan2002, Apr2001, Apr2000, Oct0001, May2024, Nov2000, Jan0002, Aug1999, Oct2002, Nov0001, Mar1997, Sep1997, Mar1999, Sep1998, Nov2012, Jul0001, Oct1997, Dec2000, Dec2001, Dec2002, Jul2001, Jul2000, May1986, Dec0001, Feb0002, Apr1986, Feb2007, Mar2002, Sep2002, Feb2004, Feb2002, Feb2001, Feb2000, Mar0002, Sep0001, ... Dec2020, Feb1999, Jan2044, May2000, May2001, May0001, Dec1979, Jan1997, Jan1998, Aug0001, Jun0001, Nov1998, Aug2001, Aug2000} @attribute business {Y,N} @attribute investigation {Y,N} @attribute sell {Y,N} @attribute president {Y,N} @attribute government {Y,N} @attribute Bush {Y,N} @attribute Clinton {Y,N} @attribute corruption {Y,N} @attribute millions {Y,N} @attribute bankruptcy {Y,N} @attribute profit {Y,N} @attribute illegal {Y,N} @attribute scandal {Y,N} @data wolfe-j,Feb2001,?,?,?,?,?,?,Y,?,?,?,?,?,? wolfe-j,Feb2001,?,?,?,Y,Y,?,?,?,?,?,?,?,? wolfe-j,Feb2001,Y,?,?,Y,?,?,?,?,?,?,?,?,? ... Novembro/2006 http://www.lac.inpe.br/~rafael.santos 89
Vrias regras aparecem em combinaes ligeiramente diferentes. Muitas regras foram geradas por uma campanha de e-mails dirigida a um dos diretores da empresa. president e Bush. business e alguns destinatrios.
Foi solicitado um nmero grande de regras, mas tivemos que praticamente miner-las!
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
92
Ainda problemas com semntica e hierarquia de conceitos... Problemas srios com falta de normalizao (ex. Jun2001 e Jun0001). Que outras buscas genricas podiam ser feitas?
Contedo no textual pode ser relevante, mas minerao multimdia difcil! Formatos alternativos de texto podem tambm complicar.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
93
Referncias:
Questes a considerar:
O conjunto de dados (~400M!) pode ser copiado de http://www.cs.cmu.edu/~enron/ (cortesia de William Cohen) Ron Bekkerman da UMASS fez uma caracterizao da distribuio de mensagens em folders. Datasets parciais, comentrios e resultados podem ser vistos em http://www.cs.umass.edu/~ronb/enron_dataset.html Jitesh Shetty e Jafar Adibi (USC) tem informaes para enriquecimento em http://www.isi.edu/~adibi/Enron/Enron.htm O conjunto original tem problemas de integridade! Privacidade!
http://www.lac.inpe.br/~rafael.santos 94
Novembro/2006
Concluses
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
95
O problema pode no ser corretamente interpretado. Padres encontrados podem no ser interessantes. Padres encontrados podem no ser explicveis. Padres podem ser incorretos (modelos construdos de dados inadequados), explicando o fenmeno medido de forma incorreta. Pr-processamento dos dados pode ser feito de forma incorreta, por exemplo, com relaes redundantes ou rudos, seleo de dados inadequada, etc.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
96
Dados podem no ser conveis ou ser pouco representativos das classes/categorias/fenmenos existentes. Modelos, algoritmos, parmetros podem ser estimados incorretamente! Modelos, algoritmos, parmetros podem no representar a realidade adequadamente (ex. undertting e overtting). Lembrando: Data Mining no mgica!: Garbage in, Garbage out.
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
97
Pr-processamento crucial e deve ser feito por um especialista no domnio. Minerao de contedo (texto) extremamente complexa.
Como adequar para uso com algoritmos mais poderosos? Considere somente timestamp: como verificar periodicidade ou freqncia?
Considere a semntica!
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
98
Problema maior...
Privacidade. Cada vez mais dados coletados, sem conhecimento ou consentimento de usurios. Mesmo com anonimizao possvel inferir comportamentos de grupos! Problemas legais e sociais em potencial!
Novembro/2006
http://www.lac.inpe.br/~rafael.santos
99
Obrigado! Perguntas?
Novembro/2006 http://www.lac.inpe.br/~rafael.santos 100