O processo de DCBD - Departamento de Informática e Estatística

Propaganda
O processo de DCBD
Prof. Luis Otavio Alvares
INE/UFSC
Parte da apresentação é baseada em slides dos profs.
José Leomar Todesco e Maurício Reis
O processo de DCBD (KDD)
•
•
•
•
Pouco explorado na bibliografia
Longo
Trabalhoso
Muito dependente dos objetivos do
usuário e dos dados disponíveis
KDD process (FAYYAD, 1996)
Metodologia CRISP-DM
• CRISP-DM = CRoss – Industry Standard
Process for Data Mining
(projeto europeu ESPRIT com vários parceiros
industriais)
• Geral - não se restringe a ferramenta ou
tecnologia específica
• Manual: http://www.crisp-dm.org/download.htm
Fases do CRISP-DM
(Data Mining)
1- Entendimento do Negócio
(Identificação dos objetivos do projeto)
• Determinar os objetivos do projeto de DCBD
• Avaliar a situação: disponibilidade de recursos,
limitações, etc.
• Determinar os objetivos da DC: objetivo, tipo de tarefa
(classificação, clustering,...), critérios para avaliação do
modelo.
• Produzir plano do projeto
Exemplo:
O departamento financeiro de uma grande loja de vestuário
notou que o faturamento sofreu uma queda significativa nos
últimos meses. Isto ocorreu pela queda das vendas em suas
lojas que estão espalhadas por todo o país. Uma análise
humana simples constatou que a queda das vendas se deu
em quase todas as regiões do país com predominância nas
regiões Sudeste, Nordeste e Norte.
Algumas soluções propostas pelos diversos departamentos
da empresa foram:
•
O setor de marketing poderia desenvolver uma campanha
publicitária;

O setor de crédito pessoal proporia aumentar a oferta do
cartão de crédito

O setor de planejamento sugestionaria uma mudança no
formato da rede, tornando suas lojas mais atrativas com novos
layouts;

O setor de vendas poderia propor um serviço de mala direta
com o envio de catálogos periódicos.
Todas estas propostas custam muito dinheiro e possuem a
característica de não atacarem o problema causador da queda
das vendas que, por enquanto, é desconhecido.
DCBD pode ser usada para descobrir mais detalhes
sobre a queda das vendas e possivelmente a sua causa
Exemplo
Objetivo: uma empresa de fornecimento de água (como a
CASAN) deseja diminuir seus custos operacionais
Como: diminuindo o gasto com energia elétrica
Exemplo
Objetivo: uma empresa de fornecimento de água (como a
CASAN) deseja diminuir seus custos operacionais
Como: diminuindo o gasto com energia elétrica
Predição de consumo de água:
Dados:
consumo diário de água
aspectos climáticos (temperatura, umidade do ar, …)
dia da semana e do mês, feriado, férias, ...
Objetivo da mineração: prever o consumo de água de forma a
minimizar o bombeamento em horários de energia mais cara
2- Entendimento dos Dados
(Data Mining)
2- Entendimento dos Dados
(coleta e análise dos dados)
A partir da coleta inicial, explorar os dados,
verificando suas propriedades e qualidade
• Coletar dados iniciais
• Descrever os dados
• Explorar os dados
– analisar a descrição dos dados
– usar técnicas de visualização
• Verificar a qualidade dos dados
O que são dados?
• Uma coleção de objetos e seus
atributos
Atributos
• Um atributo é uma propriedade
ou característica de um objeto
– Exemplos: a cor dos olhos de
uma pessoa, a sua
temperatura, etc.
– Atributos também são
conhecidos como variáveis,
Objetos
campos, características
• Uma coleção de atributos
descreve um objeto
– Objetos também são
conhecidos como registro,
ponto, caso, exemplo,
entidade, instância
10
Tid Refund Marital
Status
Taxable
Income Cheat
1
Yes
Single
125K
No
2
No
Married
100K
No
3
No
Single
70K
No
4
Yes
Married
120K
No
5
No
Divorced 95K
Yes
6
No
Married
No
7
Yes
Divorced 220K
No
8
No
Single
85K
Yes
9
No
Married
75K
No
10
No
Single
90K
Yes
60K
Exemplos de tipos de conjuntos de dados
• Registros
–
–
–
–
Dados de transações
Dados cadastrais
Dados de documentos
….
• Grafos
–
–
–
–
Estrutura da Web
Relacionamentos nas redes sociais
Estruturas moleculares
….
• Ordenados
– Dados temporais e espaço-temporais
– Dados de seqüências genéticas
– ….
Tipos de atributos
• Qualitativos: referem-se a uma qualidade ou
característica e assumem um número finito de
valores. Podem ser:
– Ordinais: apresentam uma ordem entre os valores
possíveis. Ex: ruim, regular, bom
– Nominais: quando não há ordem entre os valores. Ex:
masculino, feminino. Ex: solteiro, casado, divorciado, viúvo
• Quantitativos: assumem valores numéricos e
podem ser:
– Contínuos: os valores possíveis são os números reais. Ex:
receita, taxa, salários
– Discretos: os valores possíveis fazem parte de um conjunto
finito ou infinito numerável. Ex: número de empregados,
número de filhos de uma família.
Descrição dos dados
(mais detalhes na próxima aula)
• Descrever os dados Número de atributos e instâncias em
cada arquivo
– Tipos e faixas de valores dos atributos
– Significado de cada atributo e sua importância para o
objetivo
– Estatísticas básicas para alguns atributos (média, DP,
máximo, mínimo, percentil, frequência, moda, etc.)
– Relações entre os atributos-chave
Exploração dos dados: visualização
• visualização é a conversão dos dados para um
formato visual ou tabular de forma que
características dos dados e da relação entre
elementos dos dados possam ser percebidas
visualmente
• Visualização é uma das mais poderosas técnicas
para a exploração dos dados:
– humanos têm muita habilidade de analisar grandes
quantidades de informação apresentadas sob forma visual
– podem detectar padrões gerais e tendências
– podem detectar exceções e padrões não usuais
Exemplo: temperatura da superfície
dos oceanos em julho de 1982
Dezenas de milhares de pontos estão sumarizados
em uma simples figura:
Entendimento dos dados
• Exemplo do Sistema de Internações
Hospitalares do SUS:
– atributo CPF
• Exemplo do Sistema de Informações de
Mortalidade, do MS:
– atributo idade
– atributo raça/cor
– atributo ocupação
3- Preparação de Dados
(Data Mining)
Preparação de Dados
A fase de Preparação de Dados visa a
preparação dos dados disponíveis, que
geralmente não estão dispostos em
formato adequado, para a aplicação dos
algoritmos de descoberta, análise e
extração de conhecimento.
Preparação de Dados
• As grandes bases de dados são altamente
susceptíveis a ruídos, valores faltantes e
inconsistência.
•
Dados limpos e consistentes são
requisitos básicos para o sucesso da
mineração dos dados.
• A limpeza dos dados tem por objetivo
assegurar
a
qualidade
dos
dados
selecionados.
Preparaçao de Dados
Quase todos os algoritmos de data mining trabalham
com uma única tabela de dados de entrada.
Os dados podem estar representados em diferentes
fontes, tais como arquivos-texto, arquivos no formato
de planilhas, bancos de dados ou outro tipo de fonte,
por isso é necessária a padronização e a integração
dos dados.
Preparação de Dados
• O conhecimento sobre o domínio auxilia em todas as
etapas do processo de KDD, mas é fundamental na
fase de Preparação dos Dados.
• Esse conhecimento pode ajudar os analistas na
seleção do melhor conjunto de dados para a
extração de conhecimento, determinando os valores
válidos, os atributos, os critérios de preferência entre
os possíveis atributos, as restrições de
relacionamento ou informações para a construção de
novos atributos.
Preparação de Dados
Produção de um conjunto de dados adequado aos
algoritmos de mineração:
•
•
•
•
•
Seleção de dados
Limpeza
Transformação de dados
Construção de dados
Integração de dados: combinar múltiplas tabelas ou outras
fontes
• Formatar dados: modificações sintáticas nos dados, sem alterar
o seu significado. Ex:
– Primeiro atributo tem que ser uma chave única
– O arquivo tem que estar em uma ordem determinada
– Retirar vírgulas dos campos para gerar um arquivo com atributos
separados por vírgulas
Preparação de dados:
seleção de dados
Seleção de atributos
• motivos:
–
–
–
–
–
Requisitos de tempo e espaço
Simplicidade do modelo gerado
Relevância dos atributos
Redundância entre atributos
Acurácia pode ser aumentada
• forma:
– Manual
– Por algoritmos: mais de 30 algoritmos
Seleção de atributos
Manual: eliminação direta
• Eliminação dos atributos não relevantes ao processo de DCBD
Normalmente atributos que identificam o registro são eliminados, bem como
atributos sem variação no seu valor, atributos não preenchidos, etc.
SELECT Sexo, Data_Nasc, Est_Civil, Num_Dep,
Renda, Despesa, Tp_Res, Bairro_Res, Result
FROM CLIENTE
(excluídos CPF e Nome) – Criação de nova tabela
Preparação de dados:
seleção de dados
Seleção de registros (exemplos, instâncias)
Principais formas:
– Segmentação dos dados
– Eliminação direta de casos
– Amostragem aleatória
– Agregação de informações
Seleção de registros
Segmentação dos dados
Por exemplo, seleção dos clientes com residência própria
SELECT * FROM CLIENTE WHERE Tp_Res = “P”
Criação de nova tabela:
Seleção de registros
Eliminação direta
Exemplo: excluir clientes que não tem residência
própria:
DELETE FROM CLIENTE WHERE Tp_Res <> “P”
Alteração da tabela
Seleção de registros
Amostragem aleatória
– Simples sem reposição
• Pode ser selecionado 1 vez
– Simples com reposição
• Pode ser selecionado + 1 vez (reposição após a exclusão)
– Estratificada
• Seleção de amostras por grupos disjuntos bem identificados
(estratificados)
• Garante a seleção de registros de grupos com menor quantidade
de elementos
• Exemplo: seleção de clientes por grupo de faixa etária
Seleção de registros
Agregação
• Agregar dados (p.e. soma de valores num período, média
de valores, etc.)
SELECT Sexo, Est_Civil, MAX(Num_Dep), SUM(Renda), AVG(Despesas),
Tp_Res, Result
FROM CLIENTE
GROUP BY Sexo, Est_Civil, Tp_Res, Result
Preparação de dados:
Limpeza
São operações básicas de remoção de ruídos,
atributos incompletos ou erros, restando a
informação relevante.
Podem existir erros de digitação ou erros nos
sistemas de captura dos dados por sensores,
sendo que a remoção desses erros pode ser
realizada utilizando o conhecimento do
domínio.
Preparação de dados:
Limpeza
•
•
•
•
Limpeza de informações ausentes
Limpeza de inconsistências
Limpeza de valores fora do domínio
Padronização de dados
Limpeza
• Limpeza de informações ausentes
Objetivo: preenchimentos dos valores ausentes
– Exclusão de casos
– Preenchimento manual de valores
– Preenchimento com valores globais constantes
– Preenchimento com medidas estatísticas
– Preenchimento com métodos de mineração de
dados
Limpeza de informações ausentes
• Exclusão de casos
– Excluir registros com 1 ou mais valores ausentes
– Não é adequado quando há poucos registros
Limpeza de informações ausentes
• Preenchimento manual de valores
– Pesquisa e depois digitação dos valores
– Demanda muito tempo!!
Limpeza de informações ausentes
• Preenchimento com valores globais constantes
– Definir valor substituto
– Problema: tratamento pelo algoritmo de MD
Limpeza de informações ausentes
• Preenchimento com medidas estatísticas
– Utilizar uma medida estatística
– Exemplo: média considerando os grupos de acordo
com o valor de Result
Limpeza de informações ausentes
• Preenchimento com métodos de MD
– Modelos preditivos podem sugerir valores mais
prováveis
• Redes neurais
• Modelos Bayesianos (estatística)
• Árvores de decisão
– Ao contrário dos outros métodos, utiliza valores
existentes na própria base de dados
– Obs.: utilização de algoritmos de MD durante o
pré-processamento!
Limpeza
• Limpeza de inconsistências
– Objetivos: correção de inconsistências
• Dentro do mesmo registro
• Entre registros diferentes
– Identificação do problema
• Exemplo: cliente com idade < 21 e crédito aprovado
(regra de negócio)
SELECT * FROM CLIENT
WHERE (Year(SYSDATE) – Year(Data_Nasc)) < 21
AND Result = “A”
– Exclusão de casos
– Correção dos erros
Limpeza
• Limpeza de valores fora do domínio
– Objetivos: correção de valores fora do domínio
– Conhecimento dos domínios da aplicação
– Identificação do problema
• exemplo: valores contínuos - quantidade de dependentes < 0
SELECT * FROM CLIENT
WHERE Num_Dep < 0
• Exemplo: valores discretos - tipo de residência = (P, A, E, F, O)
SELECT * FROM CLIENT
WHERE Tp_Res not in (“P”, “A”, “E”, “F”, “O”)
– Exclusão de casos
– Correção dos erros
Limpeza
• Padronização dos dados
– formato de datas
– abreviaturas
– valores de atributos
Exemplo: o atributo sexo, em fontes diferentes,
pode ter os valores:
M ou F, 0 ou 1, Mas ou Fem, ...
Preparação de dados:
Transformação de dados
(será detalhado na próxima aula)
Objetivo: obter os dados em uma forma mais apropriada
para os algoritmos de mineração
•
Alisamento
•
Generalização
•
Normalização
•
Transformação numérico para categórico
•
Transformação categórico para numérico
Preparação de dados:
Construção de dados
• Criação de novos atributos.
Ex: área = comprimento x largura
Ex: criar o atributo idade a partir da data de
nascimento
Cabeça
Corpo
Sorri Segura
Classe
Triangular
Triangular
Sim
Balão
Amigo
Quadrada
Quadrado
Sim
Balão
Amigo
Redonda
Redondo
Sim
Bandeira
Amigo
Quadrada
Triangular
Não
Espada
Inimigo
Triangular
Redondo
Sim
Espada
Inimigo
Redonda
Quadrado
Não
Bandeira
Inimigo
sorri
sim
inimigo
inimigo
segura
bandeira ou balão
amigo
não
espada
inimigo
Cabeça
Corpo
Sorri Segura
Mesma forma
Classe
Triangular
Triangular
Sim
Balão
Sim
Amigo
Quadrada
Quadrado
Sim
Balão
Sim
Amigo
Redonda
Redondo
Sim
Bandeira
Sim
Amigo
Quadrada
Triangular
Não
Espada
Não
Inimigo
Triangular
Redondo
Não
Espada
Não
Inimigo
Redonda
Quadrado
Não
Bandeira
Não
Inimigo
mesma
forma
mesma
--forma
sim
amigo
não
inimigo
4- Modelagem (Data Mining)
(Data Mining)
Modelagem (data mining)
Corresponde a fase de Mineração de Dados
utilizada por outros autores
• Selecionar os algoritmos de data mining a utilizar
• Gerar projeto de teste
• Construir modelo: mineração propriamente dita
(aplicação do algoritmo)
• Avaliar o modelo ou padrões encontrados
Modelagem (Data Mining)
Os algoritmos de mineração normalmente são
executados várias vezes, para ajustar o conjunto de
parâmetros para obtenção de resultados mais
satisfatórios aos objetivos pré-estabelecidos, por isso
é um processo iterativo.
Esses ajustes são necessários muitas vezes para
melhorar a precisão ou facilitar a compreensão do
conhecimento extraído.
5- Avaliação
(Data Mining)
5- Avaliação
• Interpretar e avaliar os resultados em
relação aos objetivos do usuário
• Avaliar resultados
• Revisar o processo
• Determinar próximos passos: ir para a fase final de
disponibilização ou voltar para alguma etapa anterior
6- Disponibilização
(Data Mining)
6- Disponibilização
• Planejar a disponibilização: decidir a estratégia para
a integração dos resultados obtidos no ambiente da
organização
• Planejar monitoramento e manutenção
• Produzir relatório final
• Revisar o projeto: avaliar pontos positivos e
negativos do projeto, problemas e sugestões
Descoberta de Conhecimento em Bases de Dados
Esforço (%)
80
70
60
50
40
30
20
10
Etapa
0
Identificação Preparação
do domínio
do dados
Mineração
de dados
Análise dos
resultados
Fonte: Adriaans
Seminários
1. Web Crawler
2. Descoberta de conhecimento em Texto
3. Data mining na Web 2.0
4. Mineração de opinião (sentiment analysis, opinion mining):
5. Data mining em séries temporais:
6. Data mining em grafos:
7. Data mining em trajetórias de objetos móveis:
8. Data mining em redes sociais:
9. Data mining em imagens:
10.Data mining em dados geográficos:
11.Data mining em vídeos
 Grupos de 3 ou 4 alunos
 Focar nos aspectos específicos do tipo de dado utilizado: préprocessamento, algoritmos utilizados, etc.
 Deverá ser entregue um relatório de 5 a 10 páginas sobre o assunto,
com referências bibliográficas.
Grupos
1. Web Crawlers: Milton, Augusto Costa , Renata e Eduardo
2. Descoberta de conhecimento em Texto: Tiago, Mateus, Augusto, Luis
Felipe
3. Data mining na Web 2.0: Lucas Juste, Mauricio Branco e Alexandre S
4. Mineração de opinião (sentiment analysis, opinion mining): Vicente Coral,
Bruno Freitas, Tiago Coelho, Paulo Centeno
5. Data mining em séries temporais: Jean Pacher, Giovani, Anderson
Zapello
6. Data mining em grafos: Diogo, Felipe, Joaquim
7. Data mining em trajetórias de objetos móveis: Jean, Cleto, Augusto
Martins, Lucas M
8. Data mining em redes sociais: Vanoir, Augusto Pacheco, Felipe Duarte e
Mateus Maso
9. Data mining em imagens: Fabio Ariate, Rayse, Fernando Almeida e Luis
Eduardo
10.Data mining em dados espaciais: Gabriel, Jorge Junior, Marco Tulio
11.Data mining em vídeos: Vinicius,
Próxima Aula
Análise Exploratória dos Dados
Download