Introdução - Departamento de Informatica

Propaganda
Mineração de Dados: Conceitos,
Aplicações e Experimentos com Weka
Aurora Trinidad Ramirez Pozo
[email protected]
Departamento de Informática
Universidade Federal do Paraná
Motivação

A informatização dos meios produtivos permitiu a
geração de grandes volumes de dados:
• Transações eletrônicas;
• Novos equipamentos científicos e industriais
para observação e controle;
• Dispositivos de armazenamento em massa;
 Aproveitamento da informação permite ganho de
competitividade: “conhecimento é poder (e poder
= $$!)”
Conhecimento
Volume
$
Conhec.
Informação
Dados
agreguem valor aos seus negócios
Valor
Motivação
 Os recursos de análise de dados tradicionais são
inviáveis para acompanhar esta evolução
 Solução:
• ferramentas de automatização das tarefas repetitivas e
sistemática de análise de dados
• ferramentas de auxílio para as tarefas cognitivas da análise
• integração das ferramentas em sistemas apoiando o processo
completo de descoberta de conhecimento para tomada de
decisão
Aplicação

Um problema do mundo dos negócios: entender
o perfil dos clientes
• desenvolvimento de novos produtos;
• controle de estoque em postos de distribuição;
• propaganda mal direcionada gera maiores gastos e
desestimula o possível interessado a procurar as
ofertas adequadas;

Quais são meus clientes típicos?
Descoberta de Conhecimento em
Bancos de Dados
“O processo não trivial de extração de
informações implícitas, anteriormente
desconhecidas, e potencialmente úteis de
uma fonte de dados”;
 O que é um padrão interessante ?
(válido, novo, útil e interpretável)

Transformar dados
 em informação e conhecimento
• úteis para o suporte à decisão,
• gerenciamento de negócios, controle de
produção
• análise de mercado ao projeto de
engenharia e exploração científica
KDD x Data Mining

Mineração de dados é o passo do processo de
KDD que produz um conjunto de padrões sob um
custo computacional aceitável;
 KDD utiliza algoritmos de data mining para
extrair padrões classificados como
“conhecimento”. Incorpora também tarefas como
escolha do algoritmo adequado, processamento
e amostragem de dados e interpretação de
resultados;
Posicionamento
Etapas do Processo
Seleção
 Pré-processamento
 Transformação
 Data mining (aprendizagem)
 Interpretação e Avaliação

Processo
Processo mínimo de
descoberta do conhecimento
Compreensão do domínio e dos objetivos da tarefa;
Criação do conjunto de dados envolvendo as variáveis
necessárias;
Processo
Seleção de Dados

Selecionar ou segmentar dados de
acordo com critérios definidos:
• Ex.: Todas as pessoas que são
proprietárias de carros é um
subconjunto de dados determinado.
Processo
12
Processo mínimo
Operações como identificação de ruídos,
outliers, como tratar falta de dados em alguns
campos, etc.
Processo
Pré-Processamento
Estágio de limpeza dos dados, onde
informações julgadas desnecessárias são
removidas.
 Reconfiguração dos dados para assegurar
formatos consistentes (identificação)

– Ex. : sexo = “F” ou “M”
sexo = “M” ou “H”
Processo
14
Processo mínimo
Redução de dimensionalidade,
combinação de atributos;
Processo
Transformação

Transformam-se os dados em formatos
utilizáveis. Esta depende da técnica data
mining usada.

Disponibilizar os dados de maneira usável e
navegável.
Processo
16
Processo mínimo
Escolha e execução do algoritmo de aprendizagem de
acordo com a tarefa a ser cumprida
Processo
Data Mining

É a verdadeira extração dos padrões de
comportamento dos dados (exemplos)
Processo
18
Processo mínimo
Interpretação dos resultados, com
possível retorno aos passos anteriores;
Consolidação: incorporação e documentação do
conhecimento e comunicação aos interessados;
Processo
Interpretação e Avaliação

Identificado os padrões pelo sistema, estes
são interpretados em conhecimentos, os
quais darão suporte a tomada de decisões
humanas
Processo
20
Etapas do Processo
 O processo de KDD é interativo,
iterativo, cognitivo e exploratório,
envolvendo vários passos
 muitas decisões sendo feitas pelo
analista ( especialista do domínio dos
dados)
 Técnicas de pré-processamento e
transformação de dados são aplicadas
para aumentar a qualidade e o poder de
expressão dos dados a serem
minerados.
 Estas fases tendem a consumir a maior
parte do tempo dedicado ao processo de
KDD (aproximadamente 70%).
Métodos de mineração de
dados

Métodos de mineração de dados
normalmente são extensões ou
combinações de uns poucos métodos
fundamentais;

Porém, não é viável a criação de um único
método universal: cada algoritmo possui
sua própria tendência indutiva;
Métodos
Tarefas básicas

Previsão
• Cálculo de variáveis de interesse a partir dos
valores de um conjunto de variáveis de
explicação;
• É comumente visada em aprendizado de
máquina/estatística;
• Exemplos: classificação e regressão;
Métodos
Tarefas básicas

Descrição
• Reportar relações entre as variáveis do
modelo de forma simétrica;
• À princípio, está mais relacionada ao processo
de KDD;
• Exemplos: agrupamento, sumarização
(incluindo sumário de textos), dependências,
análise de desvio;
Métodos
Exemplo de previsão (I)
Análise de crédito
sem
crédito
x
débito
x
x
x
x
o
o
x
o
 Um hiperplano paralelo de
separação: pode ser
interpretado diretamente
como uma regra:
o
o
o
o
t
x: exemplo recusado
o: exemplo aceito
x
o
o
o
renda
• se a renda é menor que t,
então o crédito não deve
ser liberado
 Exemplo:
• árvores de decisão;
• indução de regras
Métodos
Exemplos
 Áreas de aplicações potenciais:
• Vendas e Marketing
• Identificar padrões de comportamento de
consumidores
• Associar comportamentos à características
demográficas de consumidores
• Campanhas de marketing direto (mailing
campaigns)
• Identificar consumidores “leais”
Exemplos
Exemplo de previsão (II)
Análise de crédito
sem
crédito
x
débito
x
x
x
o
x
o
o
x
o
o
o
o
t
x: exemplo recusado
o: exemplo aceito
x
o
o
o
 Hiperplano oblíquo: melhor
separação:
 Exemplos:
• regressão linear;
• perceptron;
renda
Métodos
Exemplo de previsão (III)
Análise de crédito
sem
crédito
x
débito
x
x
x
o
x
o
o
x
o
o
o
o
t
x: exemplo recusado
o: exemplo aceito
x
o
o
o
renda
 Superfície não linear:
melhor poder de
classificação, pior
interpretação;
 Exemplos:
• perceptrons
multicamadas;
• regressão não-linear;
Métodos
Exemplo de previsão (IV)
Análise de crédito
sem
crédito
x
débito
x
x
x
o
o
x
o
 Métodos baseado em
exemplos;
 Exemplos:
o
x
o
o
o
t
x: exemplo recusado
o: exemplo aceito
x
o
o
o
• k-vizinhos mais
próximos;
• raciocínio baseado
em casos;
renda
Métodos
Exemplo de descrição (I)
Análise de crédito
+
+
débito
+
+
+
+
+
+
+
+
+
+
t
 Agrupamento
 Exemplo:
+
• vector quantization;
+
+
+
+
renda
+: exemplo
Métodos
Exemplo de descrição (II)

Regras de associação
• “98% dos consumidores que adquiriram
pneus e acessórios de automóveis
também se interessaram por serviços
automotivos”;
• descoberta simétrica de relações, ao
contrário de métodos de classificação

qualquer atributo pode ser uma classe ou um
atributo de discriminação;
Métodos
Técnicas
 Revisão geral de Aprendizagem:
CBR
Exemplos
 Áreas de aplicações potenciais:
• Bancos
• Identificar padrões de fraudes (cartões de
crédito)
• Identificar características de correntistas
• Mercado Financeiro ($$$)
Exemplos
Exemplos
 Áreas de aplicações potenciais
• Médica
• Comportamento de pacientes
• Identificar terapias de sucessos para diferentes
tratamentos
• Fraudes em planos de saúdes
• Comportamento de usuários de planos de saúde
Exemplos
Introdução
 Exemplo (1) - Fraldas e cervejas
• O que as cervejas tem a ver com as fraldas ?
• homens casados, entre 25 e 30 anos;
• compravam fraldas e/ou cervejas às sextas-feiras à
tarde no caminho do trabalho para casa;
• Wal-Mart otimizou às gôndolas nos pontos de vendas,
colocando as fraldas ao lado das cervejas;
• Resultado: o consumo cresceu 30% .
Exemplos
Exemplos
 Exemplo (2) - Lojas Brasileiras (Info 03/98)
• Aplicou 1 milhão de dólares em técnicas de
data mining
• Reduziu de 51000 produtos para 14000
produtos oferecidos em suas lojas.
• Exemplo de anomalias detectadas:
– Roupas de inverno e guarda chuvas encalhadas
no nordeste
– Batedeiras 110v a venda em SC onde a
corrente elétrica é 220v
Exemplos
Exemplos
 Exemplo (3) - Bank of America (Info 3/98)
• Selecionou entre seus 36 milhões de clientes
• Aqueles com menor risco de dar calotes
• Tinham filhos com idades entre 18 e 21 anos
• Resultado em três anos o banco lucrou 30
milhões de dólares com a carteira de
empréstimos.
Exemplos
Software Weka
Waikato 2004, Witten & Frank 2000
Ferramenta
 algoritmos de
• preparação de dados
• aprendizagem de máquina (mineração)
• validação de resultados
 /public/soft/linux/weka...
 Java –jar weka.jar
Software Weka
 Software para data mining/machine learning escrito em
Java (distribuído sob GNU Public License)
 Utilizado em pesquisa e educação
 Principais características:
• Extenso conjunto de rotinas para pré-processamento,
esquemas de aprendizagem, além de métodos de
avaliação
• GUIs (inclusive para visualização dos dados)
• Ambiente para comparação de algortimos de
aprendizagem.
Versões Weka
 WEKA 3.0: “book version” compatível com a
descrição do livro
 WEKA 3.4: Última versão (utilizada na
apresentação)
 Esquema de versões Linux
Weka trabalha com flat files
@relation heart-disease-simplified
@attribute age numeric
@attribute sex { female, male}
@attribute chest_pain_type { typ_angina, asympt, non_anginal, atyp_angina}
@attribute cholesterol numeric
@attribute exercise_induced_angina { no, yes}
@attribute class { present, not_present}
@data
63,male,typ_angina,233,no,not_present
67,male,asympt,286,yes,present
67,male,asympt,229,yes,present
38,female,non_anginal,?,no,not_present
...
Weka trabalha com flat files
@relation heart-disease-simplified
Atributo numérico
@attribute age numeric
Atributo nominal
@attribute sex { female, male}
@attribute chest_pain_type { typ_angina, asympt, non_anginal, atyp_angina}
@attribute cholesterol numeric
@attribute exercise_induced_angina { no, yes}
@attribute class { present, not_present}
@data
63,male,typ_angina,233,no,not_present
67,male,asympt,286,yes,present
67,male,asympt,229,yes,present
38,female,non_anginal,?,no,not_present
...
Weka: vários ambientes
Explorer: Pre-processing
 Importação dos dados em vários formatos: ARFF, CSV,
C4.5, binary
 Dados também podem ser lidos de uma URL ou de um
banco de dados (utilizando o pacote JDBC)
 Rotinas de pré-processamento no Weka são chamados
de filtros
 Weka tem filtros para:
• Discretização, normalização, amostragem, seleção de
atributos, transformação e combinação de atributos,
entre outros.
Filtros: Redução dos dados
 Metodos supervisados
weka.filters.supervised.instance.*
• Resample : Faz uma amostragem estratificada com o
dataset fornecido. O dataset deve ter um atributo
nominal informando a classe. Bias para distribuição das
classes na amostra seja uniforme.
• StratifiedRemoveFolds: Cria um fold estratificado para o
cross-validation.
• SpreadSubsample: Produz uma amostra aleatória dos
dados. Este filtro permite definir o máximo spread entre
a classe mais rara e a classe mais comum. Por
exemplo, 5:1
Filtros: Redução dos dados
 Metodos não-supervisados
weka.filters.unsupervised.instance.*
• Resample: amostragem aleatória (não estratificada) do
dataset
• Randomize - embaralha conjunto de dados
• RemoveFolds – Define um fold para o crossvalidation
• RemovePercentage – Remove uma proporção do
dataset
• RemoveRange - Remove um determinado intervalo de
instâncias do dataset.
Filtros: Redução dos Atributos
 Metodos não-supervisados
weka.filters.unsupervised.attribute.*
• Normalize: valores no intervalo [0,1], exceto o atributo de classe
• NumericTransform - Aplica uma função matemática qualquer
aos valores do atributo (classe Java)
• ReplaceMissingValues – Preenche com a média (atrib. numerico
) ou a moda (atrib.nominal)
N (0,1)
• Standardize – transformação dos valores para uma
• RemoveUseless - Remove atribs. nominais que variam muito
(threshold definido pelo usuário, ex.: 95%) e atributos constantes
(nme/nml)
Filtros: Redução dos Atributos
 Metodos supervisados
weka.filters.supervised.attribute.*
• AttributeSelection : Permite a combinacao de varios
metodos de avaliacao e busca de atributos.
• Avaliação: ganho de info., PCA e vários outros
• Busca: best first, greedy, genetic search, exhaustive search,
rank search
• Discretize: Discretiza um intervalo de atributos
numericos utilizando a tecnica MDL (Fayyad & Irani's)
ou MDL (Kononenko)
• NominalToBinary: Converte todos os atributos nominais
para atributos binários numéricos
Explorer: Attribute Selection
 Usado para investigar quais atributos
(subconjuntos deles) são mais preditivos
 AttributeSelection em 2 etapas:
• Um método de busca
• Um método de avaliação
 Flexibilidade: (quase) qualquer combinação de
busca/avaliação
Weka:Clustering
 Metódos para variáveis numéricas e nominais:
• EM
• k-Means
• CobWeb
 Exemplo
Weka: Classificadores
 Modelos para a previsão de classes (nominal ou
númerica):
 Weka implementa:
• Árvore de decisão, listas, classificadores baseado em
instâncias, multi-layer perceptrons, regressão, redes
bayesianas, ...
 “Meta”-classificadores:
• Bagging, boosting, stacking, error-correcting output
code, locally weighted learning, ...
Weka: Associações
 Identificar dependências estatísticas entre grupos
de atributos
 3 algorítimos para aprender associações:
• Apriori;
• PredictiveApriori;
• Tertius;
• Trabalha somente com dados nominais;
• Computa regras que dêem um suporte mínimo e
ultrapasse um nível de confiança.
Weka: Visualização
 Ajuda a identificar a dificuldade na aprendizagem
do problema
 Visualização 2D
 Difere as classes por cor
Weka: Experimentos em
conjunto
 Experimenter: permite a comparação de diferentes
estratégias de aprendizagem.
 Para problemas de classificação e regressão
 Resultados escritos em um arquivo ou base de
dados
 Opções de avaliação: cross-validation, curva de
aprendizagem, hold-out
 Pode ser executado com diferentes configurações
de parâmetros
 Teste de significância acoplado
Download