Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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