1-Introducao - Computação UFCG

Propaganda
Marcus Sampaio
DSC/UFCG
Vários slides foram adaptados, traduzidos ou copiados de
Pang-Ning Tan (ver Bibliografia)
Sumário
Contexto
Mineração de Dados
Exemplo de Motivação
Modelos e Padrões
Algoritmos de Mineração de Dados
Métricas de Mineração de Dados
Questões em Aberto
Avaliação da Disciplina
Marcus Sampaio
DSC/UFCG
Marcus Sampaio
DSC/UFCG
Contexto
Mineração de Dados
Exemplo de Motivação
Modelos e Padrões
Algoritmos de Mineração de Dados
Métricas de Mineração de Dados
Questões em Aberto
Avaliação da Disciplina
Por Que Minerar Dados?
Marcus Sampaio
DSC/UFCG
• Enormes volumes de dados estão
sendo coletados e armazenados
– Web, e-commerce
– Supermercados, lojas de
departamento
– Transações bancárias
• Os computadores têm se tornado
mais baratos e poderosos
• A pressão competitiva é cada vez maior
– Tenho a informação que ninguém tem? A mineração pode ajudar
Ponto de vista comercial
Marcus Sampaio
DSC/UFCG
• “Data streams” (GB/hora)
– Sensores em satélites
– Telescópios varrendo os céus
– “Microarrays” gerando dados de
expressão de genes
– Simulações de tempo gerando
terabytes de dados
• Mineração de Dados pode ajudar
os cientistas
– A classificar e segmentar dados
– A formular hipóteses
Ponto de vista científico
O Que É / Não É Mineração de
Dados?

O que não é?

Marcus Sampaio
DSC/UFCG
O que é?
– Achar um número de
– Certos nomes são mais freqüentes em
telefone em um
catálogo
certas regiões do Brasil (Cacciola, Armani,
Gutierrez… na Grande São Paulo)
– Procurar numa máquina
de busca informação
sobre “Amazônia”
– Agrupar documentos por similaridade de
contexto (p.e. Amazônia)
Origens da Expressão
Mineração de Dados
Marcus Sampaio
DSC/UFCG
• Idéias mestras de “machine learning” / AI,
“pattern recognition”, estatística e banco de
dados
Machine
Learning /
AI
Estatística /
Pattern
Recognition
Data Mining
Banco de Dados
Sumário
Contexto
Mineração de Dados
Exemplo de Motivação
Modelos e Padrões
Algoritmos de Mineração de Dados
Métricas de Mineração de Dados
Questões em Aberto
Avaliação da Disciplina
Marcus Sampaio
DSC/UFCG
Mineração de Dados
Marcus Sampaio
DSC/UFCG
• Mineração de Dados é uma tecnologia capaz de
descobrir padrões de informação ‘escondidos’ em um
BD
– Padrão  Freqüência, Repetição  BD desnormalizado
• Outras denominações
– Análise de Dados Exploratória
– Descoberta Dirigida a Dados
– Aprendizagem Indutiva
• Implementa o conceito de consulta aberta ou semiaberta
– Consultas tradicionais são fechadas, ou completamente
definidas
Marcus Sampaio
DSC/UFCG
• Consultas Abertas ou Semi-Abertas
– Consulta: Pode não ser bem formada, ou
formulada imprecisamente. O minerador pode nem
mesmo saber exatamente o que ele quer ver
– Dados: Como se trata de descobrir padrões
(repetições), dados normalizados (sem repetições)
não facilitam a tarefa de mineração. A solução é
gerar arquivos intermediários não normalizados do
BD operacional normalizado
– Saída: Não é um subconjunto do BD. Em vez
disso, é o resultado de alguma análise sobre o
conteúdo do BD
Sumário
Contexto
Mineração de Dados
Exemplo de Motivação
Modelos e Padrões
Algoritmos de Mineração de Dados
Métricas de Mineração de Dados
Questões em Aberto
Avaliação da Disciplina
Marcus Sampaio
DSC/UFCG
Exemplo de Motivação
Marcus Sampaio
DSC/UFCG
• Um robot que prescreve lentes de contato
– Oftalmologista: quais as condições gerais – padrões – pelas
quais eu sempre tenho receitado lentes de contato duras? ou
gelatinosas? ou não tenho recomendo o uso de lentes?
Caracterização do Problema:
Classificatório
Tid
10
Idade
Idade
Acuidad Astigma Tipo
e Visual
tismo Lente
Marcus Sampaio
DSC/UFCG
Acuidad Astigma Tipo
e Visual
tismo Lente
1
Jovem
Míope
Sim
1
Jovem
Míope
Não
?
2
Jovem
Míope
Sim
1
Jovem
Hiperm
Não
?
3
Velho
Hiperm
Não
2
Jovem
Hiperm
Sim
?
4
Velho
Hiperm
Não
2
Velho
Míope
Não
?
5
Velho
Míope
Não
2
Maduro Míope
Não
?
6
Maduro Míope
Não
1
Maduro Hiperm
Sim
?
7
Jovem
Hiperm
Sim
3
8
Maduro Hiperm
Não
3
9
Jovem
Não
1
10
Maduro Míopr
Sim
2
Hiperm
10
Conj.
Treinamento
Clasificador
Induzido
Conj.
Teste
Modelo
Marcus Sampaio
DSC/UFCG
idade
acuidade visual
astigmatismo
taxa de
produção de
lágrima
tipo de lente
jovem
míope
não
reduzida
nenhum
jovem
míope
não
normal
gelatinosa
jovem
míope
sim
reduzida
nenhum
jovem
míope
sim
normal
dura
jovem
hipermétrope
não
reduzida
nenhum
jovem
hipermétrope
não
normal
gelatinosa
Marcus Sampaio
DSC/UFCG
jovem
hipermétrope
sim
reduzida
nenhum
jovem
hipermétrope
sim
normal
dura
maduro
míope
não
reduzida
nenhum
maduro
míope
não
normal
gelatinosa
maduro
míope
sim
reduzida
nenhum
maduro
míope
sim
normal
dura
maduro
hipermétrope
não
reduzida
nenhum
Marcus Sampaio
DSC/UFCG
maduro
hipermétrope
não
normal
gelatinosa
maduro
hipermétrope
sim
reduzida
nenhum
maduro
hipermétrope
sim
normal
nenhum
idoso
míope
não
reduzida
nenhum
idoso
míope
não
normal
nenhum
idoso
míope
sim
reduzida
nenhum
idoso
míope
sim
normal
dura
Marcus Sampaio
DSC/UFCG
idoso
hipermétrope
não
reduzida
nenhum
idoso
hipermétrope
não
normal
gelatinosa
idoso
hipermétrope
sim
reduzida
nenhum
idoso
hipermétrope
sim
normal
nenhum
Marcus Sampaio
DSC/UFCG
• se taxa_de_produção_de_lágrima = ‘reduzida’ então
tipo_de_lente = ‘nenhum’
– Padrão expressado em forma de regra se <condição>
então <classe>
– Regra se ... então é um modelo de conhecimento
• Existem muitos modelos de conhecimento
• A regra se verifica em todos os casos em que a taxa
de produção de lágrima é reduzida?
– Via de regra, não há certeza, apenas probabilidade
• Quantas e quais são as outras regras para não
receitar lente de contato (somente da amostra,
podemos extrair mais três regras – verifique)
Marcus Sampaio
DSC/UFCG
• Quão confiável é uma regra?
• se idade = ‘maduro’ e acuidade_visual =
‘hipermétrope’ e astigmatismo = ‘sim’ e
taxa_de_produção_de_lágrima = ‘normal’
então tipo_de_lente = ‘nenhum’
– Ela se verifica em somente um caso da amostra
• Provavelmente, não tem validade estatística
• Qual a freqüência mínima estatisticamente
aceitável?
Marcus Sampaio
DSC/UFCG
• Regras expressas em forma de árvore de
decisão (próximo slide)
– Algoritmo WEKA, J48
Marcus Sampaio
DSC/UFCG
Sumário
Contexto
Mineração de Dados
Exemplo de Motivação
Modelos e Padrões
Algoritmos de Mineração de Dados
Métricas de Mineração de Dados
Questões em Aberto
Avaliação da Disciplina
Marcus Sampaio
DSC/UFCG
Modelos e Padrões
Marcus Sampaio
DSC/UFCG
• Outra definição de Mineração de Dados
– Tecnologia que visa extrair automaticamente conhecimento
útil, confiável e não trivial  ‘minério’  de um banco de
dados  ‘mina’
• O conhecimento deve ser apresentado segundo um
modelo formal
– Modelo de regras de classificação: se <condição> então
<classe>
– Instância do modelo: se taxa_de_produção_de_lágrima =
‘reduzida’ então tipo_de_lente = ‘nenhum’
• Não faremos mais distinção entre modelo e instância
• Um modelo é confiável na medida em que ele possa
ser considerado um padrão
– Padrão  freqüência significativa no banco de dados
Marcus Sampaio
DSC/UFCG
• Modelos são induzidos (ou inferidos) por
algoritmos de mineração
– Existem muitos algoritmos de mineração
• Não existe o melhor algoritmo
– Que fazer?
– Diversos algoritmos poderiam implementar o
nosso robô
– Experimentemos alguns deles
• Biblioteca WEKA
Marcus Sampaio
DSC/UFCG
• Tipos de modelo
– Preditivo
• Faz predição acerca de valores de dados usando
resultados conhecidos de outros dados
– O exemplo de motivação é de predição
• Em geral, a modelagem é baseada em dados históricos,
para fazer predição (ou previsão) sobre novos dados
– Descritivo
• Identifica padrões ou relacionamentos em dados,
históricos ou não
– Importante para se conhecer os dados
Marcus Sampaio
DSC/UFCG
Modelo
Preditivo
Classificação
Regressão
Série
Temporal
Descritivo
Clustering
Síntese
Regras de Associação
Descoberta de
Seqüências
Sumário
Contexto
Mineração de Dados
Exemplo de Motivação
Modelos e Padrões
Algoritmos de Mineração de Dados
Métricas de Mineração de Dados
Questões em Aberto
Avaliação da Disciplina
Marcus Sampaio
DSC/UFCG
Algoritmos de Mineração
de Dados
Marcus Sampaio
DSC/UFCG
• Os algoritmos diferem segundo os modelos de
conhecimento que eles induzem (ou inferem)
–
–
–
–
–
–
–
–
Classificação Supervisionada
Classificação Não Supervisionada
Regressão
Síntese
Associação
Seqüência
Detecção de Anomalias / Desvios
Mineração de Texto / Dados Espaciais / Dados EspaçoTemporais / Dados Web / Dados Temporais
Classificação
Supervisionada
Marcus Sampaio
DSC/UFCG
• Mapeia entidades em classes, ou grupos prédefinidos
– Classes são valores de atributos, chamados de
atributos de classificação
• Exemplo 1: Nosso problema do robot
– Classes: 1, 2 e 3
– Diz-se que o conjunto-treinamento está anotado,
ou rotulado (“labelled”), daí o adjetivo
supervisionado
Marcus Sampaio
DSC/UFCG
• Exemplo 2: Concessão de crédito bancário
- Suponha que, com base em informações
históricas sobre clientes de um banco, cada cliente
é colocado em uma de quatro classes: (c1) OK,
(c2) pedir mais informações, (c3) ñOK e (c4)
chamar a polícia.
Como todo algoritmo de classificação
supervisionada, trabalha em duas fases:
Fase 1: Induzir um modelo para as classes, de um
conjunto-treinamento (corpus) anotado
Fase 2: Aplicar o modelo a um novo cliente, para
predição (oráculo)
- Problema: se a base não fosse anotada?
Classificação
Não Supervisionada
Marcus Sampaio
DSC/UFCG
• Agrupamento (“Clustering”)
– Os grupos (“clusters”) de um corpus são induzidos,
por critérios abertos de similaridade
• Segmentação dos dados em grupos, não
necessariamente disjuntos
– Dados similares são agrupados em um mesmo grupo
• A única restrição é o número de grupos
• “Clustering” é um modelo descritivo
– Uma espécie de anotação automática de um
corpus
– O problema: as anotações não têm semântica
(geralmente, cada grupo é identificado por um
número)
Marcus Sampaio
DSC/UFCG
• Como entender os grupos?
– Indução de um modelo de classificação em que as
classes são os grupos
• Corpus automaticamente anotado
• Um grupo é identificado pelas condições que levam ao
número do grupo
• “ Clustering” é uma possível solução para o
problema apontado no exemplo de concessão
de crédito bancário
Marcus Sampaio
DSC/UFCG
• Exemplo (Mala Direta)
– Uma cadeia nacional de lojas deseja criar
catálogos específicos, baseados em atributos tais
como renda, localização, características físicas,
etc. Para determinar o público-alvo dos catálogos,
bem como identificar novos e desconhecidos
grupos visando à criação de outros catálogos
específicos, ou ainda catálogos mais específicos
do que os inicialmente pensados, um algoritmo de
“clustering” agrupa os clientes (potenciais) da
cadeia de lojas, segundo certos atributos dos
clientes. Desta forma, um eficiente sistema de
mala direta pode ser construído
Regressão
Marcus Sampaio
DSC/UFCG
• Um problema estatístico clássico é
experimentar determinar o relacionamento
entre duas variáveis aleatórias, X e Y, por
meio de uma curva qualquer, aproximada
– Y pode ser previsto de X, então trata-se de um
modelo preditivo
Regressão Linear
Marcus Sampaio
DSC/UFCG
• A curva é uma reta
Y= a+bX+e
onde e é um resíduo e os coeficientes a and b are
determinados de modo que o resíduo seja o menor
possível
Marcus Sampaio
DSC/UFCG
Rendimento de um Certo Investimento
x
x
x x
x
x
x
x
x
x
x
x
Aplicação no
Tempo
Regressão Não Linear
Marcus Sampaio
DSC/UFCG
• Prediz um valor de uma dada variável contínua,
baseado em valores de outras variáveis,
segundo uma curva qualquer
• Muito estudada em estatística
• Exemplo
– Predizer velocidades de vento, como uma função de
temperatura, umidade, pressão atmosférica, etc.
Série Temporal
Marcus Sampaio
DSC/UFCG
• Uma série temporal é a variação, com o
tempo, do valor de um certo atributo
• A freqüência das medições pode ser diária, semanal,
horária, etc.
– Pelo exame de um conjunto de séries temporais,
algoritmos podem
• Fazer predição
• Descobrir séries similares
• Descobrir outras propriedades de séries
– Modelo híbrido
• Predição
• Descrição
Marcus Sampaio
DSC/UFCG
Nível de
Estoque
Produto B
Produto A
Produto C
Tempo
• Produto C é menos volátil do que produtos A e B
• Mesma política de estoque para A e B
• Com boa certeza, pode-se fazer predição para C
Síntese
Marcus Sampaio
DSC/UFCG
• Uma síntese agrega dados, segundo critérios
de agregação previamente escolhidos
• Também chamada de Caracterização ou
Generalização
• De forma sucinta, caracteriza o conteúdo de
um banco de dados
– Descritivo, essencialmente
Marcus Sampaio
DSC/UFCG
• Exemplo (Ranking de Universidades)
– Um dos muitos critérios usados para comparar
universidades por um certo instituto de pesquisa
americano é o chamado escore ACT  um
modelo de síntese de universidades. Trata-se de
uma síntese usada para estimar o tipo e o nível
intelectual dos corpos estudantis
• Um modelo de síntese pode também ser
pensado como um conjunto de métricas de
alto nível de granularidade, relevantes a um
contexto
Análise de Associação
Marcus Sampaio
DSC/UFCG
• Regras de Associação
– Uma regra de associação é um modelo descritivo
que identifica tipos específicos de associação
entre dados diferentes
• A associação entre certos nomes e regiões
• O clássico exemplo das cervejas e fraldas
– Quanto mais fralda comprada, mais cerveja comprada
– Formalmente, é uma extensão de regra de
classificação, em que vários pares atributo-valor
podem aparecer no conseqüente (isto é, o que
vem depois do então)
• Atenção: regras de associação em geral não
são comutativas!
Marcus Sampaio
DSC/UFCG
• Exemplo (Gerência de Vendas)
– O dono de um mercadinho está decidindo se
coloca um produto X em promoção. A fim de
determinar o impacto dessa decisão, o proprietário
usa um algoritmo que infere regras de associação
que mostram que outros produtos são
freqüentemente comprados junto com o produto X.
Baseado nesse conhecimento, ele toma algumas
decisões:
• Aproximar, nas prateleiras, os produtos associados
• Não colocar em promoção, ao mesmo tempo, mais de
um produto associado
Seqüência
Marcus Sampaio
DSC/UFCG
• Os padrões são similares a associações,
porém as associações são, em geral,
temporais
• Exemplo 1: Padrões de compra ao longo do
tempo
– Pessoas que compram CD-players, também
compram CDs no espaço de uma semana
• O que não é trivial no exemplo é o espaço de uma
semana
• Note que, para que este conhecimento seja válido, é
preciso que seja um padrão (número de repetições acima
de um valor mínimo aceitável)
– Isto vale para qualquer modelo
Marcus Sampaio
DSC/UFCG
• Exemplo 2: Seqüência de disciplinas de um
curso de ciência da computação
–  {Algoritmos e Estruturas de Dados, Introdução a
Sistemas Operacionais} {Banco de Dados,
Arquitetura de Computadores} {Redes de
Computadores, Engenharia de Software}
{Computação Gráfica, Computação Paralela) 
• Diz-se que a seqüência é composta de elementos (4) e
eventos (8), e que os eventos são temporais
• Uma seqüência pode ser não temporal
– Ordenação espacial
Marcus Sampaio
DSC/UFCG
• Exemplo 3: Padrões de navegação na Web
– O webmaster de uma companhia X
periodicamente usa um algoritmo que analisa os
dados do log da Web, para saber como os
usuários do site da empresa navegam nele – que
seqüência de páginas são freqüentemente
acessadas? Desta maneira, ele fica sabendo que
70% dos usuários da página A seguem um dos
seguintes padrões de comportamento: <A,B,C> ou
<A,D,B,C> ou <A,E,B,C>. Ele então determina
criar um link diretamente da página A para a
página C
Um Capítulo à Parte: Detecção
de Anomalia ou Desvios
Marcus Sampaio
DSC/UFCG
• Detectam desvios significativos de comportamento
padrão
• Aplicações:
– Fraude em cartões de crédito
– Intrusão em redes de
computadores
Mineração de Dados
Não Convencionais
Marcus Sampaio
DSC/UFCG
• Todas as técnicas e exemplos vistos até aqui
referem-se a dados estruturados (descritos
por meta dados)
• Como fazer para tratar com dados não
estruturados (sem meta dados)?
– Textos, Dados Espaciais, Dados EspaçoTemporais
– A idéia central é a representação estruturada de
dados não estruturados
• Redução de um problema desconhecido a um problema
conhecido
Sumário
Contexto
Mineração de Dados
Exemplo de Motivação
Modelos e Padrões
Algoritmos de Mineração de Dados
Métricas de Mineração de Dados
Questões em Aberto
Avaliação da Disciplina
Marcus Sampaio
DSC/UFCG
Métricas de Mineração de
Dados
Marcus Sampaio
DSC/UFCG
• Dado um problema de mineração, há potencialmente
uma grande quantidade de processos de MD que
podem resolver o problema
– Um processo de MD é, simplificadamente, uma tripla
<preparação de dados, execução de um algoritmo de
mineração de dados, avaliação dos resultados>
– Quantidade de processos: No. de técnicas de preparação X
no. de algoritmos de MD
• Qual o melhor processo de MD para o problema?
– A resposta depende das métricas de desempenho
escolhidas
Marcus Sampaio
DSC/UFCG
• Métricas de Desempenho de Algoritmos
– As tradicionais, como as de espaço e tempo,
baseadas em análise de complexidade de
algoritmos
– Para algoritmos de classificação supervisionada, a
acurácia do conhecimento induzido
Acurácia = No.de acertos treinamento (teste) / Tamanho do
conjunto de treinamento (teste)
– Para algoritmos de mineração de dados não
estruturados
• Precisão
• Cobertura (“Recall”)
– Veremos depois essas definições
Sumário
Contexto
Mineração de Dados
Exemplo de Motivação
Modelos e Padrões
Algoritmos de Mineração de Dados
Métricas de Mineração de Dados
Questões em Aberto
Avaliação da Disciplina
Marcus Sampaio
DSC/UFCG
Desafios da Mineração
de Dados
•
•
•
•
•
•
•
•
•
Mineração de Dados (MD) e SGBDs
Modelos de Conhecimento
Escala
Dimensionalidade
Dados complexos e heterogêneos
Qualidade de dados
Direitos autorais
Privacidade
“Streaming Data”
Marcus Sampaio
DSC/UFCG
Agenda (Parcial) de Pesquisa
em MD
Marcus Sampaio
DSC/UFCG
• Integração com SGBDs
– Os algoritmos de MD não lêem diretamente de SGBDs
• Dados são extraídos de um BD, via comandos SQL, e
armazenados em um arquivo "flat", desnormalizado
• O arquivo "flat"é a entrada para os algoritmos de mineração
– Note que desnormalização (repetição) favorece a descoberta de
padrões
– BDOR é desnormalizado  implicações?
• Termos relacionais (<atributo1> <opcomp>
<atributo2>)
– Os termos dos modelos de MD são da forma <atributo>
<opcomp> valor
• Uma enorme simplificação
– Objetivo: produzir algoritmos de complexidade baixa
• Preço a pagar: limitação da expressividade dos modelos
Marcus Sampaio
DSC/UFCG
• Escala
– Algoritmos de MD sem escala são de limitada utilidade
– Otimização, principalmente de tempo, é um tema de
pesquisa recorrente
• Minas de Dados são Impuras
– Dados do mundo real têm muita ‘sujeira’, e muito valor
faltando (“null values”). Algoritmos de MD terão que ser
capazes de trabalhar com minas impuras
• Dinâmica dos Dados
– Muitos algoritmos de MD trabalham com dados estáticos
(comportamento invariável, ao longo do tempo). Isto pode
não ser um modus operandi realista
Marcus Sampaio
DSC/UFCG
• Facilidade de Assimilação
– Embora alguns algoritmos possam trabalhar bem,
eles podem induzir modelos muito complexos, de
difícil assimilação mesmo por especialistas
• Conhecimento inútil misturado com conhecimento útil
• Padrões complexos
• Padrões não sintetizados
• Dimensionalidade
– O que fazer se as entidades têm muitos atributos
(dimensões)? Os algoritmos de hoje trabalham mal com
muitas dimensões?
• “Data streaming”
– Como minerar dados que fluem continuamente?
Marcus Sampaio
DSC/UFCG
• Atributos complexos ou estruturados
– Os algoritmos de hoje só trabalham com atributos atômicos
• Privacidade?
– Google conhece todo-o-mundo!
Sumário
Contexto
Mineração de Dados
Exemplo de Motivação
Modelos e Padrões
Algoritmos de Mineração de Dados
Métricas de Mineração de Dados
Questões em Aberto
Avaliação da Disciplina
Marcus Sampaio
DSC/UFCG
Sistema de Avaliação
Marcus Sampaio
DSC/UFCG
• Tarefas Laboratoriais
– Caracterização de um problema de mineraçao
– Solução do problema
• Aplicação de processos de mineração ao problema
• Interpretação dos resultados dos processos
– Equipes de 2
• Seminário (Tópico Avançado)
– Individual
• Ver os temas propostos
Download