Sie sind auf Seite 1von 56

Minerao de Dados: Conceitos,

Aplicaes e Experimentos com Weka


Prof. Msc. Edson Brito Jr
edbjr@ufpa.br.
Profa. Aurora Trinidad Ramirez Pozo
aurora@inf.ufpr.br
Motivao
A informatizao dos meios produtivos permitiu a
gerao de grandes volumes de dados:
Transaes eletrnicas;
Novos equipamentos cientficos e industriais
para observao e controle;
Dispositivos de armazenamento em massa;
Aproveitamento da informao permite ganho de
competitividade: conhecimento poder (e poder
= $$!)

Conhecimento

Dados
Informao
Conhec.
$
Volume
Valor
agreguem valor aos seus negcios
Motivao
Os recursos de anlise de dados tradicionais so
inviveis para acompanhar esta evoluo
Soluo:
ferramentas de automatizao das tarefas repetitivas e
sistemtica de anlise de dados
ferramentas de auxlio para as tarefas cognitivas da anlise
integrao das ferramentas em sistemas apoiando o processo
completo de descoberta de conhecimento para tomada de
deciso

Aplicao
Um problema do mundo dos negcios: entender
o perfil dos clientes
desenvolvimento de novos produtos;
controle de estoque em postos de distribuio;
propaganda mal direcionada gera maiores gastos e
desestimula o possvel interessado a procurar as
ofertas adequadas;
Quais so meus clientes tpicos?
Descoberta de Conhecimento em
Bancos de Dados
O processo no trivial de extrao de
informaes implcitas, anteriormente
desconhecidas, e potencialmente teis de
uma fonte de dados;
O que um padro interessante ?
(vlido, novo, til e interpretvel)

Transformar dados
em informao e conhecimento
teis para o suporte deciso,
gerenciamento de negcios, controle de
produo
anlise de mercado ao projeto de
engenharia e explorao cientfica
KDD x Data Mining
Minerao de dados o passo do processo de
KDD que produz um conjunto de padres sob um
custo computacional aceitvel;
KDD utiliza algoritmos de data mining para
extrair padres classificados como
conhecimento. Incorpora tambm tarefas como
escolha do algoritmo adequado, processamento
e amostragem de dados e interpretao de
resultados;

Posicionamento
Etapas do Processo
Seleo
Pr-processamento
Transformao
Data mining (aprendizagem)
Interpretao e Avaliao
Processo
Processo mnimo de
descoberta do conhecimento
Compreenso do domnio e dos objetivos da tarefa;
Criao do conjunto de dados envolvendo as variveis
necessrias;
Processo
12
Seleo de Dados
Selecionar ou segmentar dados de
acordo com critrios definidos:
Ex.: Todas as pessoas que so
proprietrias de carros um
subconjunto de dados determinado.
Processo
Processo mnimo
Operaes como identificao de rudos,
outliers, como tratar falta de dados em alguns
campos, etc.
Processo
14
Pr-Processamento
Estgio de limpeza dos dados, onde
informaes julgadas desnecessrias so
removidas.
Reconfigurao dos dados para assegurar
formatos consistentes (identificao)
Ex. : sexo = F ou M
sexo = M ou H
Processo
Processo mnimo
Reduo de dimensionalidade,
combinao de atributos;
Processo
16
Transformao
Transformam-se os dados em formatos
utilizveis. Esta depende da tcnica data
mining usada.
Disponibilizar os dados de maneira usvel e
navegvel.

Processo
Processo mnimo
Escolha e execuo do algoritmo de aprendizagem de
acordo com a tarefa a ser cumprida
Processo
18
Data Mining
a verdadeira extrao dos padres de
comportamento dos dados (exemplos)
Processo
Processo mnimo
Interpretao dos resultados, com
possvel retorno aos passos anteriores;
Processo
Consolidao: incorporao e documentao do
conhecimento e comunicao aos interessados;
20
Interpretao e Avaliao
Identificado os padres pelo sistema, estes
so interpretados em conhecimentos, os
quais daro suporte a tomada de decises
humanas
Processo
Etapas do Processo
O processo de KDD interativo,
iterativo, cognitivo e exploratrio,
envolvendo vrios passos
muitas decises sendo feitas pelo
analista ( especialista do domnio dos
dados)
Tcnicas de pr-processamento e
transformao de dados so aplicadas
para aumentar a qualidade e o poder de
expresso dos dados a serem
minerados.
Estas fases tendem a consumir a maior
parte do tempo dedicado ao processo de
KDD (aproximadamente 70%).
Mtodos de minerao de
dados
Mtodos de minerao de dados
normalmente so extenses ou
combinaes de uns poucos mtodos
fundamentais;
Porm, no vivel a criao de um nico
mtodo universal: cada algoritmo possui
sua prpria tendncia indutiva;
Mtodos
Tarefas bsicas
Previso
Clculo de variveis de interesse a partir dos
valores de um conjunto de variveis de
explicao;
comumente visada em aprendizado de
mquina/estatstica;
Exemplos: classificao e regresso;
Mtodos
Tarefas bsicas
Descrio
Reportar relaes entre as variveis do
modelo de forma simtrica;
princpio, est mais relacionada ao processo
de KDD;
Exemplos: agrupamento, sumarizao
(incluindo sumrio de textos), dependncias,
anlise de desvio;
Mtodos
Exemplo de previso (I)
Um hiperplano paralelo de
separao: pode ser
interpretado diretamente
como uma regra:
se a renda menor que t,
ento o crdito no deve
ser liberado
Exemplo:
rvores de deciso;
induo de regras
renda
d

b
i
t
o

x
x
x
x
x
x
x
o
o
o
o
o
o
o
o
o
t
sem
crdito
o
o: exemplo aceito
x: exemplo recusado
Anlise de crdito
Mtodos
Exemplos
reas de aplicaes potenciais:
Vendas e Marketing
Identificar padres de comportamento de
consumidores
Associar comportamentos caractersticas
demogrficas de consumidores
Campanhas de marketing direto (mailing
campaigns)
Identificar consumidores leais

Exemplos
Exemplo de previso (II)
Hiperplano oblquo: melhor
separao:
Exemplos:
regresso linear;
perceptron;
Anlise de crdito
renda
d

b
i
t
o

x
x
x
x
x
x
x
o
o
o
o
o
o
o
o
o
t
sem
crdito
o
o: exemplo aceito
x: exemplo recusado
Mtodos
Exemplo de previso (III)
Superfcie no linear:
melhor poder de
classificao, pior
interpretao;
Exemplos:
perceptrons
multicamadas;
regresso no-linear;
Anlise de crdito
renda
d

b
i
t
o

x
x
x
x
x
x
x
o
o
o
o
o
o
o
o
o
t
sem
crdito
o
o: exemplo aceito
x: exemplo recusado
Mtodos
Exemplo de previso (IV)
Mtodos baseado em
exemplos;
Exemplos:
k-vizinhos mais
prximos;
raciocnio baseado
em casos;
Anlise de crdito
renda
d

b
i
t
o

x
x
x
x
x
x
x
o
o
o
o
o
o
o
o
o
t
sem
crdito
o
o: exemplo aceito
x: exemplo recusado
Mtodos
Exemplo de descrio (I)
Agrupamento
Exemplo:
vector quantization;
renda
d

b
i
t
o

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
t
+
+: exemplo
Anlise de crdito
Mtodos
Exemplo de descrio (II)
Regras de associao
98% dos consumidores que adquiriram
pneus e acessrios de automveis
tambm se interessaram por servios
automotivos;
descoberta simtrica de relaes, ao
contrrio de mtodos de classificao
qualquer atributo pode ser uma classe ou um
atributo de discriminao;
Mtodos
Reviso geral de Aprendizagem:

Tcnicas
CBR
Exemplos
reas de aplicaes potenciais:
Bancos
Identificar padres de fraudes (cartes de
crdito)
Identificar caractersticas de correntistas
Mercado Financeiro ($$$)
Exemplos
Exemplos
reas de aplicaes potenciais
Mdica
Comportamento de pacientes
Identificar terapias de sucessos para diferentes
tratamentos
Fraudes em planos de sades
Comportamento de usurios de planos de sade

Exemplos
Introduo
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 gndolas 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 milho de dlares em tcnicas 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 eltrica 220v

Exemplos
Exemplos
Exemplo (3) - Bank of America (Info 3/98)
Selecionou entre seus 36 milhes de clientes
Aqueles com menor risco de dar calotes
Tinham filhos com idades entre 18 e 21 anos
Resultado em trs anos o banco lucrou 30
milhes de dlares com a carteira de
emprstimos.
Exemplos
Software Weka
Waikato 2004, Witten & Frank 2000
Ferramenta
algoritmos de
preparao de dados
aprendizagem de mquina (minerao)
validao de resultados
/public/soft/linux/weka...
Java jar weka.jar

Software Weka
Software para data mining/machine learning escrito em
Java (distribudo sob GNU Public License)
Utilizado em pesquisa e educao
Principais caractersticas:
Extenso conjunto de rotinas para pr-processamento,
esquemas de aprendizagem, alm de mtodos de
avaliao
GUIs (inclusive para visualizao dos dados)
Ambiente para comparao de algortimos de
aprendizagem.

Verses Weka
WEKA 3.0: book version compatvel com a
descrio do livro
WEKA 3.6: ltima verso (utilizada neste
minicurso)
Esquema de verses 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

@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
...
Atributo numrico
Atributo nominal
Weka: vrios ambientes
Explorer: Pre-processing
Importao dos dados em vrios formatos: ARFF, CSV,
C4.5, binary
Dados tambm podem ser lidos de uma URL ou de um
banco de dados (utilizando o pacote JDBC)
Rotinas de pr-processamento no Weka so chamados
de filtros
Weka tem filtros para:
Discretizao, normalizao, amostragem, seleo de
atributos, transformao e combinao de atributos,
entre outros.


Filtros: Reduo 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 distribuio das
classes na amostra seja uniforme.
StratifiedRemoveFolds: Cria um fold estratificado para o
cross-validation.
SpreadSubsample: Produz uma amostra aleatria dos
dados. Este filtro permite definir o mximo spread entre
a classe mais rara e a classe mais comum. Por
exemplo, 5:1


Filtros: Reduo dos dados
Metodos no-supervisados
weka.filters.unsupervised.instance.*
Resample: amostragem aleatria (no estratificada) do
dataset
Randomize - embaralha conjunto de dados
RemoveFolds Define um fold para o crossvalidation
RemovePercentage Remove uma proporo do
dataset
RemoveRange - Remove um determinado intervalo de
instncias do dataset.



Filtros: Reduo dos Atributos
Metodos no-supervisados
weka.filters.unsupervised.attribute.*
Normalize: valores no intervalo [0,1], exceto o atributo de classe
NumericTransform - Aplica uma funo matemtica qualquer
aos valores do atributo (classe Java)
ReplaceMissingValues Preenche com a mdia (atrib. numerico
) ou a moda (atrib.nominal)
Standardize transformao dos valores para uma
RemoveUseless - Remove atribs. nominais que variam muito
(threshold definido pelo usurio, ex.: 95%) e atributos constantes
(nme/nml)



) 1 , 0 ( N
Filtros: Reduo dos Atributos
Metodos supervisados
weka.filters.supervised.attribute.*
AttributeSelection : Permite a combinacao de varios
metodos de avaliacao e busca de atributos.
Avaliao: ganho de info., PCA e vrios 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 binrios numricos


Explorer: Attribute Selection
Usado para investigar quais atributos
(subconjuntos deles) so mais preditivos
AttributeSelection em 2 etapas:
Um mtodo de busca
Um mtodo de avaliao
Flexibilidade: (quase) qualquer combinao de
busca/avaliao


Weka:Clustering
Metdos para variveis numricas e nominais:
EM
k-Means
CobWeb
Exemplo


Weka: Classificadores
Modelos para a previso de classes (nominal ou
nmerica):
Weka implementa:
rvore de deciso, listas, classificadores baseado em
instncias, multi-layer perceptrons, regresso, redes
bayesianas, ...
Meta-classificadores:
Bagging, boosting, stacking, error-correcting output
code, locally weighted learning, ...
Weka: Associaes
Identificar dependncias estatsticas entre grupos
de atributos
3 algortimos para aprender associaes:
Apriori;
PredictiveApriori;
Tertius;
Trabalha somente com dados nominais;
Computa regras que dem um suporte mnimo e
ultrapasse um nvel de confiana.
Weka: Visualizao
Ajuda a identificar a dificuldade na aprendizagem
do problema
Visualizao 2D
Difere as classes por cor
Weka: Experimentos em
conjunto
Experimenter: permite a comparao de diferentes
estratgias de aprendizagem.
Para problemas de classificao e regresso
Resultados escritos em um arquivo ou base de
dados
Opes de avaliao: cross-validation, curva de
aprendizagem, hold-out
Pode ser executado com diferentes configuraes
de parmetros
Teste de significncia acoplado