Upload
internet
View
111
Download
2
Embed Size (px)
Citation preview
Mineração de Dados: Conceitos, Aplicações e Experimentos com Weka
Aurora Trinidad Ramirez Pozo
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
Dados
Informação
Conhec.
$Volume Valor
agreguem valor aos seus negócios
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 conhecimentoCompreensão do domínio e dos objetivos da tarefa;Criação do conjunto de dados envolvendo as variáveis necessárias;
Processo
12
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
Processo mínimo
Operações como identificação de ruídos, outliers, como tratar falta de dados em alguns campos, etc.
Processo
14
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
Processo mínimo
Redução de dimensionalidade, combinação de atributos;
Processo
16
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
Processo mínimo
Escolha e execução do algoritmo de aprendizagem de acordo com a tarefa a ser cumprida
Processo
18
Data Mining
É a verdadeira extração dos padrões de comportamento dos dados (exemplos)
Processo
Processo mínimo
Interpretação dos resultados, com possível retorno aos passos anteriores;
ProcessoConsolidação: incorporação e documentação do conhecimento e comunicação aos interessados;
20
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
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)
Um hiperplano paralelo de separação: pode ser interpretado diretamente como uma regra:• se a renda é menor que t,
então o crédito não deve ser liberado
Exemplo: • árvores de decisão;• indução de regrasrenda
déb
ito
xx
xx
x
x
x
o
oo
oo
o
o
o
o
t
sem crédito
o
o: exemplo aceitox: exemplo recusado
Análise de crédito
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)
Hiperplano oblíquo: melhor separação:
Exemplos: • regressão linear;• perceptron;
Análise de crédito
renda
déb
ito
xx
xx
x
x
x
o
oo
oo
o
o
o
o
t
sem crédito
o
o: exemplo aceitox: exemplo recusado
Métodos
Exemplo de previsão (III)
Superfície não linear: melhor poder de classificação, pior interpretação;
Exemplos: • perceptrons
multicamadas;• regressão não-linear;
Análise de crédito
renda
déb
ito
xx
xx
x
x
x
o
oo
oo
o
o
o
o
t
sem crédito
o
o: exemplo aceitox: exemplo recusado
Métodos
Exemplo de previsão (IV)
Métodos baseado em exemplos;
Exemplos:• k-vizinhos mais
próximos;• raciocínio baseado
em casos;
Análise de crédito
renda
déb
ito
xx
xx
x
x
x
o
oo
oo
o
o
o
o
t
sem crédito
o
o: exemplo aceitox: exemplo recusado
Métodos
Exemplo de descrição (I)
Agrupamento Exemplo:
• vector quantization;
renda
déb
ito
++
++
+
+
+
+
++
++
+
+
+
+
t
+
+: exemplo
Análise de crédito
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
Revisão geral de Aprendizagem:
Técnicas
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}
@data63,male,typ_angina,233,no,not_present67,male,asympt,286,yes,present67,male,asympt,229,yes,present38,female,non_anginal,?,no,not_present...
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}
@data63,male,typ_angina,233,no,not_present67,male,asympt,286,yes,present67,male,asympt,229,yes,present38,female,non_anginal,?,no,not_present...
Atributo numérico
Atributo nominal
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)• 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)
)1,0(N
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