Buscar

SIN5001 Parte3 aula3

Prévia do material em texto

Mineração de Dados 
Material extraído do minicurso: “Uma introdução à 
Mineração de Dados (Data Mining) – com Inteligência 
Artificial” ministrado pelos docentes: Prof. Dr. Clodoaldo 
Aparecido de Moraes Lima e Profa. Dra. Sarajane 
Marques Peres na Segunda Semana de Sistemas de 
Informação 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Introdução 
2 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
A Evolução 
3 
Sistemas de Gerenciamento 
de Dados em Arquivos (1960) 
Sistemas de Gerenciamento de Banco de Dados 
(SGBD – SQL – OLTP) (1970-1980) 
 
 
 
 
 
 
 
 
Nova Geração de Sistemas de Informação e Dados Integrados 
(Presente e Futuro) 
Sistemas de 
Gerenciamento de 
Banco de Dados 
Avançados (OR – OO – 
Espacial – Temporal – 
Baseado em 
Conhecimento ...) 
(1980- atual) 
Análise de Dados 
Avançada (Data 
Warehouse, OLAP, 
KDD, Data Mining) 
(1980- atual) 
Sistemas de Banco de 
Dados baseados em 
Tecnologia WEB (XML – 
Integração e 
Recuperação da 
Informação ) 
 (1990- atual) 
Adaptado de Han & Kamber (2006) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Tarefas de Mineração de Dados 
• Mineração de Dados: 
 
– Tarefas Preditivas 
• Classificação  incluindo Descoberta de Desvios e 
 Previsão de Séries 
• Regressão 
 
– Tarefas Descritivas 
• Regras de Associação  incluindo Associações 
 Temporais 
• Agrupamentos 
• Sumarização 
4 Obs: Predição com Agrupamento !!! 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Mineração de Dados : interdisciplinaridade 
5 
(Han & Kamber, 2006) 
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
A tarefa de Associação 
6 
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
Padrão Itens frequentes 
7 
Padrão sequencial Padrão estruturado 
frequente (grafo) 
S 
A 
B 
à 
O 
A 
M 
A 
C 
I 
A 
N 
T 
E 
S 
A 
B 
à 
O 
A 
M 
A 
C 
I 
A 
N 
T 
E 
pizza 
chocolate 
Consumo: 
caipirinha  feijoada  laranja 
Compra: 
carro  seguro teclado 
mouse 
monitor 
CPU 
Comportamento: 
ingresso  pipoca 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
Exemplo (Han & Kamber, 2006) 
 
 Como gerente da marca AllElectronics, você gostaria de saber mais sobre os hábitos 
de compras de seus clientes. Mais especificamente, você gostaria de saber quais 
grupos ou conjuntos de items os clientes geralmente compram em uma visita à sua 
loja. 
 Para responder a essa pergunta é necessário fazer uma análise (de mercado) das 
compras realizadas, observando os dados provenientes das transações (compras) dos 
clientes na loja. 
 Você poderia usar os resultados dessa análise para planejar estratégias de marketing, 
através de anúncios, projeto de novos catálogos, rearranjo do layout da loja. 
 Por exemplo, itens que são comprados “juntos” (em uma mesma compra) podem ser 
colocados em lugares próximos de forma a encorajar a venda de tais items. 
8 
Continua ... 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
Exemplo (Han & Kamber, 2006) 
 
 Se clientes que compram computadores também tendem a comprar 
antivírus (na mesma compra). Então colocá-los em lugares próximos pode 
ajudar a aumentar as vendas dos dois produtos. 
 Alternativamente, a estratégia pode ser colocá-los em lados opostos da loja 
de forma a forçar o cliente andar por toda a loja e, eventualmente, escolher 
outros produtos para comprar. 
 Análise de mercado também pode suportar a decisão sobre quais produtos 
colocar em liquidação ou retirar do mercado. 
9 
Esta seção (teoria sobre Regras de Associação) do 
minicurso é baseada no Capítulo 5 de Han & Kamber 
(2006). 
Fraldas e cervejas: 
uma lenda urbana?!?! 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
• Representação: considere seu universo como sendo o 
conjunto de produtos (itens) vendidos na loja. 
 
– A existência ou ausência de cada um desses itens pode ser 
representada por uma variável booleana. 
– Cada compra pode ser representada por um vetor de variáveis 
booleanas, sendo que, de fato, nesta compra (transação) foram 
comprados apenas os itens valorados com verdadeiro. 
– Analisando esses vetores, é possível descobrir itens que 
frequentemente aparecem juntos (estão associados), constituindo um 
padrão de comportamento. 
– Esse “padrão” pode ser representado por meio de uma regra de 
associação. 
 
10 
computador  antivirus 
 fralda  cerveja 
(Han & Kamber, 2006) 
antecedente  consequente 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
Formalizando .... 
 
Seja L = {I1, I2, ..., Im} um conjunto de itens. 
Seja D, um conjunto de dados relevantes para a tarefa constituído de 
transações de banco de dados, onde cada transação T é um conjunto 
de itens tal que T L. 
Cada transação é associada a um identificador (TID). 
Seja A e B subconjuntos de itens. 
A transação T contém A se e somente se A T. 
 
 
 
 Uma regra de associação é uma implicação da 
 forma A  B, onde A L, B L e A B = . 
 
11 


  

(Han & Kamber, 2006) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
• Medidas de “interessabilidade” 
 
 
Suporte = utilidade da regra 
Confiança = certeza sobre a regra 
 
O suporte de 2% para a regra acima significa que 2% de todas as transações 
analisadas mostram que computadores e antivirus são comprados juntos. 
 
A confiança de 60% da regra acima significa que 60% dos fregueses que 
compram um computador também compram um antivirus. 
 
 Regras de associação interessantes são aquelas que possuem um suporte 
e uma confiança mínimos (de acordo com um limite inferior pré- 
 estabelecido) !! 
12 
computador  antivirus [ suporte = 2%, confiança = 60%] 
(Han & Kamber, 2006) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
Uma regra A  B existe em um conjunto de transações D com suporte 
s, onde s é a porcentagem de transações em D que contém A U B. 
– Contém tanto A quanto B 
– É calculado como a probabilidade P(AUB), a probabilidade da 
transação conter a união do subconjunto A e do subconjunto B. 
 
suporte (A  B) = P(AUB) 
 
 
13 
Uma regra A  B tem confiança c no conjunto de transações D, onde 
c é a porcentagem de transações em D contendo B dado que contém 
 A. 
 - É calculada como a probabilidade condicional P(B|A). 
 
 confiança (A  B) = P(B|A) 
 
 
(Han & Kamber, 2006) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
Definições 
 
• Itemset: um conjunto de itens. 
• k-itemset: um conjunto de k itens. 
– 2-itemset: um conjunto de 2 itens 
{computador, antivirus} 
• Frequencia de ocorrência de um itemset (suporte do itemset): número 
de transaçõesque contém o itemset. 
• Itemset frequente: um conjunto de itens que satisfaz a um suporte 
mínimo. 
 
 
 O conjunto de k-itemsets frequentes é denotado por Lk. 
 
14 
(Han & Kamber, 2006) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
 
confiança (AB) = 
P(B|A) = 
suporte (AUB) / suporte (A) = 
suporte do itemset (AUB) / suporte do itemset (A) 
 
Obs.: uma vez que a frequencia dos itemsets foram calculadas, os cálculos do 
suporte e da confiança de uma regra podem ser facilmente realizados. 
 
 Assim, o problema de minerar regras de associação pode ser reduzido ao 
problema de minerar os itemsets frequentes. 
15 
(Han & Kamber, 2006) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
Processo de mineração de regras de associação: 
16 
Encontrar todos 
os itemsets 
frequentes 
Gerar regras de 
associação 
fortes a partir 
destes itemsets 
Determine o limite mínimo para o 
suporte (min-sup) 
(varia para cada aplicação e é 
uma decisão de projeto) 
Regras de associação fortes são aquelas 
que satisfazem ao min-sup e ao min-conf. 
Determine o limite mínimo para a 
confiança (min-conf) 
(varia para cada aplicação e é uma 
decisão de projeto) 
Passo 
mais 
custoso!!! 
(Han & Kamber, 2006) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
• Principal desafio: encontrar uma maneira eficiente para calcular os 
itemsets frequentes de um grande conjunto de dados. 
 
• Observe o seguinte exemplo (Han & Kamber, 2006, p. 231): 
17 
Um 100-itemset frequente {a1, a2, ..., a100}, contém = 100 1-itemset 
frequentes: {a1}, {a2}, ..., {a100}, 2-itemset frequentes: {a1,a2}, {a1,a3}, 
..., {a99,a100}, e assim por diante. 
O número total de itemsets frequentes que ele contém é: 
 
 
 
 
 
 
• Esse problema é resolvido com a definição de 
fechamento (clausura) de itemsets frequentes. 






1
100






2
100
.1027.112
100
100
2
100
1
100
30100 


















(Han & Kamber, 2006) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
• Um itemset X é fechado em um conjunto de dados S se não existe nenhum 
super-itemset Y tal que Y tenha o mesmo suporte que X em S. 
• Um itemset X é um itemset frequente fechado em um conjunto S se X é tanto 
fechado quanto frequente em S. 
• Um item itemset X é um itemset frequente máximo em um conjunto S se X é 
frequente, e não existe nenhum super-itemset tal que X Y e Y é frequente 
em S. 
• Seja C o conjunto de itemsets frequentes fechados para um conjunto de 
dados S, que satisfaz um limite mínimo para suporte, min-sup. Seja M o 
conjunto de itemsets frequentes máximos para S satisfazendo min-sup. 
 
– C e a informação sobre suporte de itemsets podem ser usados para 
derivar todo o conjunto de itemsets frequentes. 
– M registra somente o suporte dos itemsets máximo. 
18 
Exemplo! 

(Han & Kamber, 2006) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
Han & Kamber, 2006, p. 232 
 
 
Supondo um banco de dados com apenas duas transações: 
{<a1, a2, ..., a100>};{<a1, a2, ..., a50>}. 
Seja sup-min = 1. 
Encontramos dois itemsets frequentes fechados e seu suporte: 
C = {{a1, a2, ..., a100} : 1; {a1, a2, ..., a50} : 2} 
Existe um itemset frequente máximo: 
M = {{a1, a2, ..., a100} : 1}. 
De C é possível derivar, por exemplo, que: 
19 
{a2,a45 : 2} desde que {a2,a45} é um sub-itemset de 
 {a1, a2, ..., a50} : 2 
 {a2,a55 : 1} desde que {a2,a55 } é um sub-itemset de 
{a1, a2, ..., a100} : 1 
(Han & Kamber, 2006) 
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
 
 
Regras de Associação 
 
O algoritmo Apriori 
 
20 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Apriori 
• Proposto por R. Agrawal e R. Srikant, em 1994. 
 
– Objetiva encontrar itemsets frequentes para descobrir regras de 
associação. 
– Usa conhecimento apriori referente a propriedades de itemsets 
frequentes. 
– Implementa uma abordagem iterativa. 
21 
Resumo... 
(Han & Kamber, 2006) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Apriori 
• Resumo: 
– k-itemsets são usados para analisar (k+1)-itemsets 
• O conjunto de 1-itemsets e o seu suporte são encontrados 
em uma análise do banco de dados de transações. 
• Mantém-se aqueles itemsets que satisfazem o sup-min, no 
conjunto denominado L1. 
• L1 é usado para encontrar L2, e assim por diante, até que 
não seja possível encontrar mais k-itemsets. 
• A composição de cada Lk exige uma análise completa do 
banco de dados de transações. 
 
22 
Melhora de eficiência 
Propriedade Apriori 
(Han & Kamber, 2006) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Propriedade Apriori 
• Propriedade Apriori 
 
Todos os subconjuntos não vazios de um itemset 
frequente deve também ser frequente. 
 
• Analise: 
– Se um itemset l não satisfaz o limite mínimo para o suporte, min-
sup, então I não é frequente; 
– Se um item A é adicionado ao itemset I, então o itemset 
resultante (I U A) não pode ocorrer mais frequentemente do que 
I. 
23 
(Han & Kamber, 2006) 
É uma propriedade de 
antimonotonicidade! 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Apriori: ilustrando 
24 
• Etapa 1: 
 
C1(s=1) C1(k=1) L1 
http://www.icmc.usp.br/~biblio/BIBLIOTECA/rel_tec/RT_308.pdf 
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Apriori: ilustrando 
• Etapa 2: 
 
25 
C2(k=2) 
C2(s=2) 
L2 
http://www.icmc.usp.br/~biblio/BIBLIOTECA/rel_tec/RT_308.pdf 
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Apriori: ilustrando 
• Etapa 3: 
 
 
 
 
• Etapa 4: 
 
26 
C3(k=3) L3 
Conjunto Resposta L – 
união dos Lks 
http://www.icmc.usp.br/~biblio/BIBLIOTECA/rel_tec/RT_308.pdf 
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Apriori: algoritmo 
27 
Algoritmo Apriori: encontrar itemsets frequentes usando uma abordagem 
level-wise iterativa baseada em geração candidata. 
(Han & Kamber, 2006, p. 239) 
 
Input: 
 D, uma base de dados de transações 
 min-sup, limite mínimo para o suporte de itemsets 
 
Output: 
 L, itemsets frequentes em D 
 
 
 corpo principal 
 procedure apriori_gen 
 procedure has_infrequent_subset 
Próximos slides !! 
(Han & Kamber, 2006) 
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Apriori: corpo principal 
28 
(1) L1 = find_frequent_1-itemset(D); 
(2) for (k = 2; Lk-1 = {}, k++) { 
(3) Ck = apriori_gen(Lk-1); 
(4) for each transaction t ϵ D {// scan D for counts 
(5) Ct = subset(Ck,t);// get the subsets of t that are candidates 
(6) for each candidate c ϵ Ct 
(7) c.count++; 
(8) } 
(9) Lk = {c ϵ Ck | c.count ≥ min_sup} 
(10) } 
(11) return L = kLk; 
(Han & Kamber,2006) 
Encontra os 1-itemsets frequentes. 
Gera Ck candidatos para 
encontrar o Lk para k>1. 
Conjunto de itemsets frequentes. 

Função subset: encontra todos os subconjuntos de 
transações que são candidatas. E para cada 
subconjunto, o suporte é calculado (count ++). 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Apriori: apriori_gen 
procedure apriori_gen (Lk-1:frequent (k-1)-itemsets) 
(1) for each itemset l1 ϵ Lk-1 
(2) for each itemset l2 ϵ Lk-1 
(3) if (l1[1] = l2[1]) ᴧ (l1[2] = l2[2]) ᴧ ... ᴧ 
 (l1[k-2] = l2[k-2]) ᴧ (l1[k-1] = l2[k-1]) 
 then { 
(4) c = l1 |X| l2; // join step: generate candidates 
(5) if has_infrequente_subset(c,Lk-1) then 
(6) delete c; // prune step: remove unfruitiful candidate 
(7) else add c to Ck; 
(8) } 
(9) return Ck; 
29 
(Han & Kamber, 2006) 
Gera os candidatos e então usa a propriedade Apriori para 
eliminar aqueles que tem um subconjunto que não é frequente. 
Aplicação da Propriedade Apriori. 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Apriori: has_infrequent_subset 
procedure has_infrequent_subset (c:candidate k-itemset; 
 Lk-1: frequent (k-1)-itemsets); // use prior knowledge 
(1) for each (k-1)-subset s of c 
(2) if s ¬ϵ lk-1 then 
(3) return TRUE; 
(4) return FALSE; 
30 
(Han & Kamber, 2006) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
• Assumindo o conjunto de itemsets frequentes encontrados nas transações 
de um banco de dados D, é possível gerar regras de associações fortes. 
31 
Que satisfazem sup_min e conf_min 
)(etorte_itemssup
)(etorte_itemssup
)|()(confiança
A
BA
ABPBA


(Han & Kamber, 2006) 
• Para cada itemset l, gerar todos os subconjuntos não vazios de l. 
 
• Para todo subconjunto não vazio s de l, retorne a regra “s  (l-s)” se 
 
 
min_conf
emset(s)suporte_it
emset(l)suporte_it

Como os itemsets são frequentes, as regras 
geradas, automaticamente, atendem ao 
sup_min. 
>= 2 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Apriori: ilustrando 
32 
camiseta  tênis 
 
50 / 50 = 1 (todas as vezes que camiseta foi 
 vendida, tênis também foi vendido) 
 
 
tênis  camiseta 
 
 
50 / 75 = 0,66 ( em 66% das compras nas quais 
 tênis foi vendido, camiseta também 
 foi vendida) 
 
 
 
 
 
 
http://www.icmc.usp.br/~biblio/BIBLIOTECA/rel_tec/RT_308.pdf 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
• Regras de Associação Multinível 
 
Para muitas aplicações, é difícil encontrar associações fortes entre itens de 
dados de baixos níveis de abstração, ou primitivos, devido a esparsidade 
dos dados nestes níveis. Associações fortes descobertas em altos níveis 
de abstração podem representar conhecimento de senso comum (Han & 
Kamber, 2006). 
 
• As regras são mineradas usando hierarquias de conceito, sob uma 
estrutura de suporte-confiança. 
– Estratégia top-down 
– Suportes são acumulados 
• Calculados a partir dos itemsets frequentes em a cada nível de 
conceito. 
• Em cada nível, o Apriori ou outro algoritmo de mesmo propósito, 
pode ser usado. 
 
 
33 
(Han & Kamber, 2006) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
• Regras de Associação Multinível (exemplos) 
34 
(Han & Kamber, 2006) 
Exemplo de Hierarquia de Conceitos 
All 
Laptop 
Microsoft Dell IBM 
Antivirus Office Desktop Printer Mouse Wrist pad Dig.Camera 
Computer Computer Accessory Printer & Camera Software 
Fellowes Canon HP LogiTech 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
• Regras de Associação Multinível (exemplos) 
35 
(Han & Kamber, 2006) 
Computer [support = 10%] 
Laptop computer [support = 6%] Desktop Computer [support = 4%] 
Nível 1 
Nível 2 
Nível 1 
min_sup = 5% 
Nível 2 
min_sup = 3% 
Nível 1 
min_sup = 5% 
Nível 2 
min_sup = 5% 
Abordagem de suporte 
uniforme 
Abordagem de suporte 
reduzido 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
• Regras de Associação Multinível (exemplos) 
 
buys(X,”laptop computer”)  buys(X,”HP printer”) 
[suporte = 8%, confiança = 70%] 
 
buys(X,”IBM laptop computer”)  buys(X,”HP printer”) 
[suporte = 2%, confiança = 72%] 
 
• Problema: uma regra pode ser considerada redundante se seu suporte e confiança 
estão próximos de seus valores “esperados”, baseado-se no ancestral da regra. 
 
 
 
 
 
36 
(Han & Kamber, 2006) 
1 
2 
Suponha que a regra 1 tenha 70% de confiança e 8% de suporte, e que cerca de um 
quarto (¼) de todas as vendas de “laptop computer” são de “IBM laptop computer”. 
É esperado que a regra 2 tenha uma confiança de cerca de 70% (já que todos os itens 
“IBM laptop computer” são também “laptop computer”) e um suporte de cerca de 2% 
(isto é, 8% * ¼). 
Se esse é realmente o caso, então a regra 2 não é interessante porque ela não traz 
informações adicionais e é menos genérica que a regra 1. 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
• Minerando em um Banco de Dados Relacional ou em um Datawarehouse 
– Além de manter a informação sobre quais produtos foram comprados, um 
banco de dados relacional ou o datawarehouse também mantém informações 
associadas a estes itens: quantidade comprada e/ou preço, idade e/ou 
ocupação do comprador, data e/ou hora da compra, compras anteriores, etc. 
 
 age (X,”20 ... 29”) AND occupation(X,”student”)  buys(X, “laptop”) 
37 
(Han & Kamber, 2006) 
Regra multidimensional - INTERDIMENSIONAL 
Regra multidimensional – HÍBRIDA-DIMENSIONAL 
 age (X,”20 ... 29”) AND buys(X, “laptop”)  buys(X, “HP printer”) 
Os algoritmos são baseados em Predicados, ao 
invés de Itemsets! 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
• Como nós podemos dizer quais regras de associação fortes são realmente 
interessantes? (Han & Kamber, 2006, pg 260) 
 
• Exemplo (Han & Kamber, 2006, pg 260) : 
– De 10.000 transações analisadas, 6.000 incluem venda de jogos de computador, 7.500 
incluem venda de videos, e 4.000 incluem ambos. 
– Minerando regras de associação com sup_min = 30% e conf_min = 60%, a seguinte regra é 
descoberta. 
 
 
 
– A regra é, de certa forma, ilusória, porque a probabilidade de comprar vídeos é de 75%, a 
qual é bem maior do que 66%. 
– Jogos de computadores e videos estão negativamente associados porque a compra de um 
“inibe” a compra do outro. 
38 
(Han & Kamber, 2006) 
buys(X, “computer games”)  buys(X, “videos”) [suporte = 40% , confiança 66%] 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
• Análise de Correlação 
 
A  B [suporte, confiança, correlação] 
 
• Lift (medida de correlação) 
– A ocorrência de um itemset A é independente da ocorrência do itemset B se P(A B) = 
P(A)P(B); caso contrário, os itemsets A e B são dependentes e correlacionados, enquanto 
eventos. 
– A medida é dada por 
 
 
 
– Se o valor resultante para amedida é menor do que 1, então a ocorrência de A está 
negativamente correlacionada com a ocorrência de B. 
– Se o valor resultante para a medida é maior do que 1, então A e B estão positivamente 
correlacionados, significando que a ocorrência de um implica na ocorrência do outro. 
– Se o resultado é igual a 1, então A e B são independentes e não há correlação entre eles. 
39 
(Han & Kamber, 2006) 

.
)()(
)(
),(
BPAP
BAP
BAlift


L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras de Associação 
• Análise de Correlação – exemplo (Han & Kamber, 2006, pg. 261) 
 
– Seja NOT-GAME referente às transações que não contem “computer games”, e 
NOT-VIDEO referente às transações que não contém “videos”. 
– Se a probabilidade de comprar: 
• Um jogo de computador: P({game}) = 0,60 
• Um vídeo: P({video}) = 0,75 
• Ambos: P({game, video}) = 0,40 
– Pela medida de correlação (Lift) 
• O lift da regra do slide anterior é P({game, video}) / P({game}) * P({video}) = 0,40 / (0,60 * 0,75) = 0,89. 
– Como o valor é menor do que 1, então existe uma correlação negativa entre a 
ocorrência de {game} e {video} 
 
40 
(Han & Kamber, 2006) 
Outras medidas de correlação poderiam 
ser usadas. Veja (Han & Kamber, 2006). 
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
WEKA 
41 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Sobre o WEKA 
• Weka (Waikato Environment for Knowledge Analysis)é uma coleção de algoritmos 
de aprendizado de máquina que podem ser usados na implementação de tarefas de 
mineração de dados. 
• Possui uma interface que permite que os algoritmos seja executados diretamente 
sobre o conjunto de dados, ou que eles sejam chamados a partir de algum código 
Java. 
• Dentre as funcionalidades que podem ser realizadas nestes software, incluem-se: 
– Pré processamento de dados / Classificação / Regressão / Agrupamento / Regras de Associação / 
Visualização 
• Weka encontra-se em sua versão 3, e também permite que novos algoritmos sejam 
implementados a partir dos recursos que oferece. 
• E um software de código aberto, publicado sob a 
licença GNU General Public License 
(http://www.gnu.org/copyleft/gpl.html). 
 
• Trata-se de uma iniciativa da Universidade de 
Waikato, Nova Zelândia. 
 
• Homepage: http://www.cs.waikato.ac.nz/ml/weka/ 
 
42 
(Witten & Frank, 2005) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Sobre o WEKA 
• Os algoritmos implementados no WEKA esperam um 
formato padrão para os conjuntos de dados que serão 
explorados. 
• Trata-se do formato ARFF. 
• É uma forma de representar dados que contém 
instâncias de dados não ordenadas, independentes e 
não envolve relacionamento entre elas. 
 
 
43 
Exemplo 
(Witten & Frank, 2005) 
(Witten & Frank, 2005) 
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
% ARFF file for weather data with some numeric features 
% 
@relation weather 
 
@attribute outlook { sunny, overcast, rainy } 
@attribute temperature numeric 
@attribute humidity numeric 
@attribute windy { true, false } 
@attribute play? { yes, no } 
 
@data 
% 
% 14 instances 
% 
sunny, 85, 85, false, no 
sunny, 80, 90, true, no 
overcast, 83, 86, false, yes 
rainy, 70, 96, false, yes 
rainy, 68, 80, false, yes 
rainy, 65, 70, true, no 
overcast, 64, 65, true, yes 
sunny, 72, 95, false, no 
sunny, 69, 70, true, no 
rainy, 75, 80, false, yes 
sunny, 75, 70, true, yes 
overcast, 72, 90, true, yes 
overcast, 81, 75, false, yes 
rainy, 71, 91, true, no 44 
comentário 
atributo nominal e os valores 
possíveis que os instanciam 
nome da relação 
bloco de definição 
de atributos 
atributo de classe 
início das instâncias 
instâncias são escritas uma por linha, com 
valores para cada atributo separados por 
vírgula 
valores perdidos são representados por “?” 
Também admite atributos do tipo: 
string: @attribute description string 
date: @attribute today date 
 
Formato para data/hora: yyyy-MM-ddTHH:mm:ss 
(Witten & Frank, 2005) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Weka: criando o nosso .arff 
• Conjunto de dados: Congressional Voting Records Data Set 
• (Frank & Asuncion, 2010) 
– Origem: Congressional Quarterly Almanac, 98th Congress, 2nd session 1984, Volume XL: 
Congressional Quarterly Inc. Washington, D.C., 1985. 
– Doador: Jeff Schlimmer (Jeffrey.Schlimmer '@' a.gp.cs.cmu.edu) 
 
• This data set includes votes for each of the U.S. House of Representatives 
Congressmen on the 16 key votes identified by the CQA. The CQA lists nine different 
types of votes: voted for, paired for, and announced for (these three simplified to 
yea), voted against, paired against, and announced against (these three simplified to 
nay), voted present, voted present to avoid conflict of interest, and did not vote or 
otherwise make a position known (these three simplified to an unknown disposition). 
 
45 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
46 
% 1984 United States Congressional Voting Records Database 
% 
@relation voting 
 
@attribute handicapped-infants {y,n} 
@attribute water-project-cost-sharing {y,n} 
@attribute adoption-of-the-budget-resolution {y,n} 
@attribute physician-fee-freeze {y,n} 
@attribute el-salvador-aid {y,n} 
@attribute religious-groups-in-schools {y,n} 
@attribute anti-satellite-test-ban {y,n} 
@attribute aid-to-nicaraguan-contras {y,n} 
@attribute mx-missile {y,n} 
@attribute immigration {y,n} 
@attribute synfuels-corporation-cutback {y,n} 
@attribute education-spending {y,n} 
@attribute superfund-right-to-sue {y,n} 
@attribute crime {y,n} 
@attribute duty-free-exports {y,n} 
@attribute export-administration-act-south-africa {y,n} 
@attribute class? {democrat, republican} 
 
@data 
% 
% 435 instances 
% 
 
n,y,n,y,y,y,n,n,n,y,?,y,y,y,n,y,republican 
n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,?,republican 
?,y,y,?,y,y,n,n,n,n,y,n,y,y,n,n,democrat 
n,y,y,n,?,y,n,n,n,n,y,n,y,n,n,y,democrat 
y,y,y,n,y,y,n,n,n,n,y,?,y,y,y,y,democrat 
n,y,y,n,y,y,n,n,n,n,n,n,y,y,y,y,democrat 
n,y,n,y,y,y,n,n,n,n,n,n,?,y,y,y,democrat 
n,y,n,y,y,y,n,n,n,n,n,n,y,y,?,y,republican 
n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y,republican 
 
... continua .... 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Sobre o WEKA 
• Usos do WEKA (Witten & Frank, 2005) 
– Aplicação de um método de aprendizado em um conjunto de 
dados e analisar as saídas produzidas para aprender mais 
sobre os dados; 
– Criação de modelos para gerar predições de novas instâncias 
(de dados); 
– Aplicação de vários e diferentes métodos de aprendizado e 
comparação de seus desempenhos a fim de escolher um deles 
para a realização da tarefa. 
 
47 
• O Weka ainda fornece: 
• um módulo de avaliação comum para 
medir o desempenho dos algoritmos; 
• Ferramentas de pré-processamento, 
chamadas filtros. 
(Witten & Frank, 2005) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Weka 
48 
Primeiras opções: acesso à interfaces gráficas, 
visualizadores e informações sobre a ferramenta. 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Sobre o WEKA 
• Possui interfaces gráficas 
– Explorer: fornece acesso a todas as funcionalidades doWEKA 
por meio de menus. 
– Knowledge Flow: permite projetar configurações para 
processamento de dados streamed, ideal para processar 
grandes conjuntos de dados e usar, de maneira combinada, 
diversas funcionalidades do WEKA. 
– Experimenter: facilita a experimentação de vários métodos 
diferentes, usando um corpus de conjuntos de dados, coletando 
informações estatísticas e executando diferentes tipos de testes. 
 
49 
Uso via linha de comando também 
está disponível. 
(Witten & Frank, 2005) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Weka: explorer 
50 
Carregando o arquivo 
com os dados a serem 
analisados ... 
Tela inicial do Explorer: 
6 abas com as tarefas que 
podemos executar (pre-
processamento, classificação, 
agrupamento, associação, seleção 
de atributos e visualização. 
Neste ponto apenas o pré-
processamento está 
disponível. É preciso 
carregar um arquivo .arff (a 
partir de um arquivo, URL, 
banco de dados) ou gerar 
um arquivo de dados. 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Weka: explorer 
51 
Para editar do arquivo de dados 
Para salvar a nova versão do 
arquivo de dados 
 
Informações sobre o atributo selecionado: quantos valores 
perdidos, quantos valores distintos, tipo dos valores, se 
existem valores únicos, quantos valores de cada tipo, e um 
histograma (veja próximo slide). 
Filtros que podem ser 
aplicados sobre os dados. 
Depois do pré-
processamento, 
as tarefas de 
análise de dados 
podem ser 
executadas. 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
52 
Frequência de ocorrência cada um dos valores de 
classe (republicano - vermelho / democrata - azul) para 
cada um dos valores de cada atributo. 
Para ver o histograma relacionado todos os 
Atributos ao atributo escolhido na lista! 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
53 
Weka: explorer 
Clique para alterar os parâmetros. 
Possibilidades de 
algoritmos! 
Parâmetros para o Apriori! 
Clique em “More” para obter informações 
sobre cada parâmetro. 
 
Open: abre um arquivo de configurações 
Save: salva um arquivo de configurações 
Executa o algoritmo. 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
54 
Weka: explorer 
=== Run information === 
 
Scheme: weka.associations.Apriori -N 10 -T 0 -C 0.9 -D 0.05 -U 1.0 -M 0.1 -S -1.0 -c -1 
Relation: voting 
Instances: 435 
Attributes: 17 
 handicapped-infants 
 water-project-cost-sharing 
 adoption-of-the-budget-resolution 
 physician-fee-freeze 
 el-salvador-aid 
 religious-groups-in-schools 
 anti-satellite-test-ban 
 aid-to-nicaraguan-contras 
 mx-missile 
 immigration 
 synfuels-corporation-cutback 
 education-spending 
 superfund-right-to-sue 
 crime 
 duty-free-exports 
 export-administration-act-south-africa 
 class? 
 
=== Associator model (full training set) === 
 
Resultado usando os 
parâmetros default. 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
55 
Apriori 
======= 
 
Minimum support: 0.45 (196 instances) 
Minimum metric <confidence>: 0.9 
Number of cycles performed: 11 
 
Generated sets of large itemsets: 
 
Size of set of large itemsets L(1): 20 
 
Size of set of large itemsets L(2): 17 
 
Size of set of large itemsets L(3): 6 
 
Size of set of large itemsets L(4): 1 
 
 
 
Resultado usando os 
parâmetros default. 
Weka: explorer 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Melhores regras encontradas (10 + 1). 
 
 1. aprovação de orçamento = sim, congelamento de taxa médica = não 219 
 ==> classe = democrata 219 conf:(1) 
 
 2. aprovação de orçamento = sim, congelamento de taxa médica = não, auxílio aos “contras” Nicarágua= sim 198 
 ==> classe = democrata 198 conf:(1) 
 
 3. congelamento de taxa médica = não, auxílio aos “contras” Nicarágua= sim 211 
 ==> classe = democrata 210 conf:(1) 
 
 4. congelamento de taxa médica = não, gastos com educação = não 202 
 ==> classe = democrata 201 conf:(1) 
 
 5. congelamento de taxa médica = não 247 ==> classe = democrata 245 conf:(0.99) 
 
 6. auxílio para El Salvador = não, classe = democrata 200 ==> auxílio aos “contras” Nicarágua= sim 197 conf:(0.99) 
 
 7. auxílio para El Salvador = não 208 ==> auxílio aos “contras” Nicarágua= sim 204 conf:(0.98) 
 
 8. aprovação de orçamento = sim, auxílio aos “contras” Nicarágua= sim, classe = democrata 203 
 ==> congelamento de taxa médica = não 198 conf:(0.98) 
 
 9. auxílio para El Salvador = não, auxílio aos “contras” Nicarágua= sim 204 ==> classe = democrata 197 conf:(0.97) 
 
10. auxílio aos “contras” Nicarágua, classe = democrata 218 ==> congelamento de taxa médica = não 210 conf:(0.96) 
 
… 
 
20. auxílio para El Salvador = sim 212 ==> grupos religiosos nas escolas = sim 197 conf:(0.93) 
 
Weka: explorer 
Resultado usando os 
parâmetros default. 
Traduzido! 
Alterando um dos parâmetros – número de regras = 20. 
56 
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
A tarefa de Classificação 
57 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
O Problema de Classificação 
(Definição Informal) 
• Dada uma coleção de dados 
detalhados, neste caso 5 
exemplos de Esperança e 5 de 
Gafanhoto, decida a qual tipos de 
inseto o exemplo não rotulado 
pertence. 
• Obs: Esperança: Tipo de 
gafanhoto verde 
 
 
 
• Esperança ou ganfanhoto? 
 
 
58 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Para qualquer domínio de interesse podemos medir 
características 
59 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Coleção de dados 
60 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Visualização gráfica 
61 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Visualização Gráfica 
62 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Joguinho 
63 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Joguinho dos pombos 
64 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Joguinho dos pombos 
65 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Joguinho dos pombos 
66 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Joguinho dos pombos 
67 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Joguinho dos Pombos 
68 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Joguinho dos pombos 
69 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Joguinho dos pombos 
70 
L
im
a
, 
C
. 
A
. 
M
.&
 P
e
re
s
, 
S
. 
M
. 
Regras - Joguinho dos pombos 
71 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras – Joguinho dos pombos 
72 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Regras – Joguinho dos pombos 
73 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Problema Inicial 
74 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Gafanhoto ou Esperança 
75 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Discriminante de Fisher 
76 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Espaço de alta dimensão 
77 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Espaço de alta dimensão 
78 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Espaço de alta dimensão 
79 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Redução da dimensionalidade 
80 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Problema do Pombo 
81 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Classificador 
• Um exemplo pode ser representado pelo 
par: (x, y) = (x, f(x)) 
• Onde 
– x é a entrada; 
– f(x) é a saída (f desconhecida!) 
– Indução ou inferência indutiva: dada uma 
coleção de exemplos de f, retornar uma 
função h que aproxima f 
– h é denominada uma hipótese sobre f 
 82 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Exemplos de Hipóteses 
• (a) dados originais 
• (b), (c), (d) possíveis hipóteses 
 
83 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Representação da Classificação 
84 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
85 
Vetor de atributos ou características 
• O que é um vetor de atributos ou características “bom” 
para uma tarefa de classificação? 
– A qualidade do vetor de atributos ou características está relacionada com 
sua habilidade de discriminar exemplos de diferentes classes 
• Exemplos da mesma classe deveriam ter valores de atributos ou características 
similares 
• Exemplos de classes diferentes deveriam ter valores de atributos ou 
características diferentes 
 
 
 
 
 
Atributos ou Características 
boas 
Atributos ou Características 
ruins 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
86 
Tipos de Problemas de Classificação 
Linearmente separável Não-Linearmente separável 
Características altamente 
correlacionadas 
Multimodal 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Treinamento e Teste 
• O desempenho de um classificador pode ser medido por 
meio da taxa de erro: 
– A taxa de erro de erro é a proporção de erros obtidos sobre um 
conjunto completo de instancias. 
 
 
 
 
 
 
– O que interessa é o desempenho do classificador mediante 
“novos” dados, e não sobre os dados velhos (usados no 
processo de treinamento). 
 
87 
O classificador prediz a classe de cada instância; se 
ela é correta, é contada como um “sucesso”; se não, 
é contada como um “erro”. 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Treinamento, validação e teste 
• Frequentemente é útil dividir o conjunto de dados disponíveis em 
três partes, para três diferentes propósitos: 
– Conjunto de treinamento: usado por um ou mais métodos de 
aprendizado para construir o classificador. 
– Conjunto de validação: usado para otimizar os parâmetros do 
classificador, ou para selecionar um em particular. 
– Conjunto de teste: usado para clacular a taxa de erro final do modelo já 
otimizado. 
88 
Uma vez que a taxa de erro foi determinada, os dados de testes podem 
se juntar aos dados de treinamento para produzir um novo classificador 
para o uso real. Não há problema nisso quando usado apenas como uma 
forma de maximizar o classificador que será usado na prática. O que é 
importante é que a taxa de erro não seja calculada com base nesse último 
classificador gerado. Além disso, o mesmo pode ser feito com os dados 
de validação. (Witten & Frank, 2005) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Análise de desempenho 
89 
Meu classificador apresentou 25% de taxa de erro (75% de taxa de 
acerto). Mas o que isso realmente significa? Quanto posso confiar 
nesta medida? 
É util determinar a taxa de sucesso com relação a um intervalo de 
confiança. 
 
Seja S a contagens de respostas corretas obtidas nos testes do 
classificador e N o número de testes realizados, então: 
 
• Se S = 750 e N = 1000, a taxa de sucesso é por volta de 75%. Se 
considerarmos 80% de confiança na medida, a taxa de sucesso fica entre 
73.2% e 76.7%. 
 
•Se S = 75 e N = 100, a taxa de sucesso é por volta de 75%. Se 
considerarmos 80% de confiança na medida, a taxa de sucesso fica entre 
69.1% e 80.1%. 
?  
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Processo de Bernoulli 
• Sucessão de eventos independentes que ou obtém sucesso ou falham. 
 
• A média e variância de uma única tentativa Bernoulli com taxa de sucesso 
p é p e p(1-p), respectivamente. Se N tentativas são executadas, a taxa de 
sucesso esperada f = S/N é uma variável randômica com a mesma média 
p; a variância é reduzida pelo fator N para p(1-p)/N. Para grandes N, a 
distribuição desta variável randômica aproxima uma distribuição normal. 
 
• A probabilidade de uma variável randômica X, com média 0, ficar entre um 
certo intervalo de confiança de largura 2z é Pr[ -z <= X <= z] = c. 
 
• Para uma distribuição normal, valores de c e z são dados em tabelas (a 
derivação de tais tabelas não está discutida aqui) apresentadas na 
literatura da área de Estatística. 
90 
(Witten & Frank, 2005) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
• Pr [ X >= z ] = 5% implica que existe 5% de chance que X estar em mais de 1.65 de 
desvio padrão acima da média. Como a distribuição normal é simétrica, a chance de 
X estar em mais do que 1.65 de desvio padrão da média (acima ou abaixo) é de 
10%, ou Pr [ -1.65 <= X <= 1.65 ] = 90%. 
 
• Então é necessário reduzir a variável f para ter média zero e variância 1, e Pr [ -z < 
(f-p)/ sqrt(p(1-p)/N)) < z ] = c. 
 
• Para usar a tabela é necessário subtrair c de 1 e então verificar o resultado, tal que 
para c = 90% deve-se usar a entrada de 5% da tabela. 
91 
Processo de Bernoulli 
(Witten & Frank, 2005) 
Limites de confiança para a distribuição normal 
Pr [ X >= z ] z 
0.1% 3.09 
0.5% 2.58 
1% 2.33 
5% 1.65 
10% 1.28 
20% 0.84 
40% 0.25 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
• Para encontrar p: 
 
 
 
• O +/- na expressão indica os dois valores para p que 
representam os limites superior e inferior de confiança. 
 
92 
Processo de Bernoulli 
(Witten & Frank, 2005) 















N
z
N
z
N
f
N
f
z
N
z
fp
2
2
222
1/
42
A asserção da distribuição normal é 
válida somente para grandes N (por 
exemplo, N > 100). 
Lim
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Matriz de Confusão 
• Oferece uma medida da eficácia do modelo de 
classificação,mostrando o número de classificações corretas versus 
o número de classificação prevista para cada classe. 
 
 
 
93 
Classe C1 Prevista C2 Prevista  Ck Prevista 
C1 Real M(C1,C1) M(C1,C2)  M(C1,Ck) 
C2 Real M(C2,C1) M(C2,C2)  M(C2,Ck) 
     
Ck Real M(Ck,C1) M(Ck,C2)  M(Ck,Ck) 



}:),({
)(),(
iCyTyx
jji CxhCCM
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Matriz de Confusão para duas classes 
94 
TP = True Positive (verdadeiro positivo) 
FN = False Negative(falso negativo) 
FP = False Positive (falso positivo) 
TN = True Negative (verdadeiro negativo) 
n = (TP+FN+FP+TN) 
Classe prevista C+ prevista C- Taxa de erro 
da classe 
Taxa de erro 
total 
real C+ Tp Fn Fn / (Tp + Fn) 
(Fp + Fn) / n 
real C- Fp Tn Fp/ (Fp + Tn) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Matriz de Confusão para duas classes 
• Outras métricas derivadas da tabela anterior: 
 
95 
C+ Predictive Value = Tp / (Tp + Fp) 
C- Predictive Value = Tn / (Tn + Fn) 
True C+ Rate ou Sesitivity y ou Recall = Tp / (Tp + Fn) 
True C- Rate ou Specifity = Tn / (Fp + Tn) 
Precision = (Tp + Tn) / n 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Credibilidade: avaliando o que foi aprendido 
• É possível avaliar como diferentes métodos de 
mineração de dados trabalham e é possível compará-
los. 
• É preciso implementar uma forma de predizer os limites 
de desempenho de um método, baseado em 
experimentos com os dados que estão disponíveis. 
– Quando está disponível um grande conjunto de dados a 
avaliação pode se basear em um grande conjunto de 
treinamento e um grande conjunto de teste. 
– Caso contrário, é preciso trabalhar um pouco mais. 
 
96 
(Witten & Frank, 2005) 
É um trabalho cheio de 
controvérsias e discordâncias!!! 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Diferentes formas de avaliação 
• Para problemas de classificação, pode-se medir o desempenho de 
um classificador com base na taxa de erro. 
• Regras de associação são avaliadas com base em medidas de 
suporte e confiança. 
• Tarefas de predição podem ser avaliadas por medidas tais como: 
erro quadrático médio, coeficiente de correlação, etc. 
• O princípio MDL (minimun description length) pode ser usado para 
avaliar tarefas de agrupamento. 
97 
Veja mais à frente, nestes slides, 
como tais medidas são 
aplicadas! 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Avaliação do classificador 
• Para estimar o erro verdadeiro de um classificador, a 
amostra para teste deve ser aleatoriamente escolhida 
 
• Amostras não devem ser pré-selecionadas de nenhuma 
maneira 
 
• Para problemas reais, tem-se uma amostra de uma 
única população, de tamanho n, e a tarefa é estimar o 
erro verdadeiro para essa população 
 
98 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Métodos para estimar o erro 
verdadeiro de um classificador 
– Resubstitution 
– Random 
– Holdout 
– r-fold cross-validation 
– r-fold stratified cross-validation 
– Leave-one-out 
– Bootstrap 
 
99 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Resubstitution 
• Gera o classificador e testa a sua performance 
com o mesmo conjunto de dados 
 
• Os desempenhos computados com este método 
são otimistas e tem grande bias 
 
• Desde que o bias da resubstitution foi 
descoberto, os métodos de cross-validation são 
usados 
100 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Holdout 
• Estratégia para teste de classificador que reserva um certo montante de 
dados para treino e o restante para teste (podendo ainda usar parte para 
validação). 
 
• Comumente esta estratégia uma 1/3 dos dados dados para teste e o 
restante para treinamento, escolhido randomicamente. 
 
• É interessante assegurar que a amostragem randômica seja feita de tal 
maneira que garanta que cada classe é apropriadamente representada 
tanto no conjunto de treinamento quanto no conjunto de teste. Este 
procedimento é chamado de estratificação (holdout estratificado). 
 
• Também é útil, para amenizar tendências, repetir todo o processo de treino 
e teste várias vezes com diferentes amostragens randômicas (holdout 
repetitivo/iterativo). 
101 
(Witten & Frank, 2005) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Random 
• I classificadores, I<<n, são induzidos de cada 
conjunto de treinamento 
 
• O erro é a média dos erros dos classificadores 
medidos por conjuntos de treinamentos gerados 
aleatória e independentemente 
 
• Pode produzir estimativas melhores que o 
holdout 
 
102 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Cross Validation 
• Trata-se de uma estratégia para lidar com um montante de dados 
limitado. 
 
• Nesta estratégia decide-se um numero fixos de folds, ou partições 
dos dados. Supondo que sejam usados três folds (3-fold cross 
validation): 
– o conjunto de dado é dividido em três partições de tamanhos aproximadamente 
iguais e, de maneira rotativa, cada uma delas é usada para teste enquanto as 
duas restantes são usadas para treinamento. 
– ou seja: use 2/3 para treinamento e 1/3 para teste e repita o processo três 
vezes, tal que, no fim, cada instância tenha sido usadas exatamente uma vez 
para teste. 
– se a estratificação é adotada, então o procedimento se chama 3-fold cross 
validation estratificado (aconselhável). 
– o padrão é executar o 10-fold cross validation, 10 vezes. 
– o erro final do classificador é a média dos erros obtidos em cada iteração da 
estratégia cross-validation 
103 
(Witten & Frank, 2005) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Leave-one-out 
• Leave-one-out cross-validation é um n-fold cross-validation, onde n é o 
número de instâncias no conjunto de dados. 
• A avaliação é sobre a corretude de classificação da instância em teste – um 
ou zero para sucesso ou falha, respectivamente. 
• Os resultados de todas as n avaliações, uma para cada instância do 
conjunto de dados, são analisados via média, e tal média representa o erro 
final estimado. 
 
• Motivações: 
– o maior número possível de dados é usado para treinamento em cada caso, o 
que aumenta as chance do classificador alcançar acuidade. 
– o procedimento é determinístico. 
 
• Indicado para conjunto de dados pequenos. 
• Não é possível aplicar qualquer procedimento de estratificação. 
104 
(Witten & Frank, 2005) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Boostrap 
• Baseado em um procedimento estatístico de amostragem com 
reposição. 
• Uma instância não é retirada do conjunto de dados original quando 
ela é escolhida para compor o conjunto de treinamento. 
– Ou seja, a mesma instância pode ser selecionada várias vezes durante 
o procedimento de amostragem. 
• As instâncias do conjunto original que não foram escolhidas para 
compor o conjunto de treinamento, comporão o conjunto de teste. 
 
• O 0,632 bootstrap: 
– a probabilidade de uma instância ser escolhida é 1/n. E de não ser escolhida é 
de 1-(1/n). Multiplicando essasprobabilidades de acordo com o número de 
oportunidades de escolha (n), tem-se (1 – (1/n))n ~ e-1 = 0,368 como a 
probabilidade de uma instância não ser escolhida. 
– assim, para um conjunto de dados grande, o conjunto de testes conterá 36,8% 
de instâncias e o conjunto de treinamento, 63,2% delas. 
 
 
 
105 
(Witten & Frank, 2005) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Boostrap 
• A medida de erro obtida é uma estimativa pessimista do erro verdadeiro 
porque o conjunto de treinamento, embora tenha tamanho n, contém 
somente 63% das instâncias, o que não é grande coisa se comparado com 
os 90% usados no 10-fold cross-validation. 
• Para compesar isso, pode-se combinar o erro do conjunto de teste com o 
erro de resubstituição (estimativa otimista). 
 
• O boostrap combina da seguinte forma: 
– erro = 0,632 * erro de teste + 0.368 * erro de treinamento 
 
• O procedimento deve ser repetido várias vezes, e uma média de erro final 
deve ser encontrada. 
106 
(Witten & Frank, 2005) 
O bootstrap é o procedimento mais 
indicado para estimar erro para 
conjuntos de dados muito pequenos. 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Comparando métodos 
• Encontrar a taxa de erro para as técnicas comparadas e escolher aquela 
com a menor taxa é a forma mais simples de comparação e, pode ser 
adequada para problemas isolados. 
 
• Se um novo algoritmo é proposto, seus proponentes devem mostrar que 
ele melhora o estado da arte para o problema em estudo e demonstrar que 
a melhora observada não é apenas um efeito de sorte do processo de 
estimativa do erro. 
 
• O objetivo é determinar se um esquema é melhor ou pior do que o outro, 
em média, usando todas as possibilidades de conjuntos de treinamento e 
de teste que podem ser criados a partir do domínio. Todos os conjuntos de 
dados deveriam ser do mesmo tamanho e o experimento deveria ser 
executado várias vezes, com diferentes tamanhos, para obter uma curva de 
aprendizado. 
107 
(Witten & Frank, 2005) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
• t-test ou Student’s test 
– seja um conjunto de amostras x1, x2, ..., xk obtidas por sucessivos 10-
fold cross validation, usando um esquema de aprendizado (um dos 
métodos sob comparação), e um segundo conjunto de amostras y1, y2, 
..., yk obtidos de sucessivos10-fold cross validation usando o outro. 
– cada estimativa cross validation é gerada usando um conjunto de 
dados diferente (mas de mesmos tamanhos e do mesmo domínio). 
– melhores resultados serão obtidos se ambos os esquemas sob 
comparação usarem exatamente as mesmas partições dos dados para 
x1 e y1, x2 e y2, e assim por diante. 
– a média da primeira amostragem é x e a média da segunda é y. 
– a pergunta é: x é significativamente diferente de y ? 
108 
Comparando métodos 
(Witten & Frank, 2005) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
– se existem amostras suficientes, a media (x) de um conjunto de amostras 
independente (x1, x2, ..., xk) tem uma distribuição normal, independentemente da 
distribuição subjacente à amostra em si; o valor verdadeiro de média seria μ, e a 
variância poderia ser estimada e poder-se-ia reduzir a distribuição de x para média 
zero e variância 1. 
– mas k não é grande, k = 10. 
– tem-se uma Student’s distribution com k-1 graus de liberdade. 
– a tabela de intervalos de confiança da Student’s distribution deveria ser usada ao 
invés da tabela de intervalos de confiança da distribuição normal. 
– para o caso do 10-fold cross validation, tem-se o 9 graus de liberdade. 
109 
Comparando métodos 
(Witten & Frank, 2005) 
Limites de confiança para a Student’s distribution com 9 graus de liberdade 
Pr [ X >= z] z 
0.1% 4.30 
0.5% 3.25 
1% 2.82 
5% 1.83 
10% 1.38 
20% 0.88 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
– considera-se pois as diferenças di entre observações 
correspondentes, di = xi – yi. 
– a média das diferenças é a diferença entre as médias, d = x – y, 
e como as médias, as diferenças seguem a Student’s 
distribution com k-1 graus de liberdade. 
– se a média é a mesma, a diferença é zero (hipótese nula); se 
elas são significativamente diferentes, a diferença será 
significativamente diferente de zero. 
– assim, para um dado nível de confiança, checar-se-á se a 
diferença excede um limite de confiança. 
110 
Comparando métodos 
(Witten & Frank, 2005) 
como?? 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
• reduza a diferença para média-zero e variância unitária  variável 
t-statistc, aplicando 
t = d / sqrt(σ2d/k) 
• onde σ2d é a variância das diferenças. 
• decida o nível de confiança – geralmente 5% ou 1%. 
• a partir deste limite determine z usando a tabela anterior se k = 10; 
 
• Se o valor de t é maior do que z, ou menor do que –z, a hipótese 
nula deve ser rejeitada e conclui-se que há, realmente, uma 
diferença significativa entre os dois métodos sob comparação. 
111 
Comparando métodos 
(Witten & Frank, 2005) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Avaliação dos classificadores 
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Taxa de Falso Positivo
T
ax
a 
de
 V
er
da
de
iro
 P
os
iti
vo
E
A
C
D
B
• Gráfico ROC com cinco classificadores discretos. 
 
– A é dito um classificador “conservador”, B é o inverso de E, D é 
um classificador perfeito e C é dito aleatório. 
112 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Avaliação dos classificadores 
• Considere as seguintes saídas de um classificador: 
 
 
 
 
 
 
 
• -0,7: TP = 1 FP = 1 ponto (1 ; 1) 
• -0,6: TP = 1 FP = 0,5 ponto (0.5 ; 1) 
• 0,8: TP = 1 FP = 0 ponto (0 ; 1) 
• 0,9: TP = 0,66 FP = 0 ponto (0 ; 0,66) 
• 1,0: TP = 0,33 FP = 0 ponto (0 ; 0,33) 
z y L (-0.7) L(-0.6) L(0.8) L(0.9) L(1.0) L(>1.0) 
-0.7 -1 1 -1 -1 -1 -1 -1 
-0.6 -1 1 1 -1 -1 -1 -1 
0.8 1 1 1 1 -1 -1 -1 
0.9 1 1 1 1 1 -1 -1 
1.0 1 1 1 1 1 1 -1 
113 
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Um método para classificação 
 
Máquinas Vetores Suporte 
 
SVM – Support Vector Machine 
114 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
115 
Máquinas de Vetores Suporte 
(SVM – Support Vector Machines) 
• Máquinas de Vetores Suporte 
– Usa espaço de hipótese de funções lineares no espaço de 
característica de alta dimensionalidade, treinadas com um 
algoritmo baseado na teoria de otimização que implementa a 
teoria de aprendizado estatístico. 
• Palavras chaves 
– Maquinas de aprendizado Linear 
– Funções kernel 
• Usado para definir o espaço de característica implícito, no 
qual a máquina de aprendizado linear opera. 
• Responsável pelo uso eficiente do espaço de característica 
de alta dimensionalidade. 
– Teoria de Otimização  Representação Compacta 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
116 
x
x
x
x
x
x
x
x
x
x
o
o
o
o
o
o
(x)

(x)
(x)
(x)
(x)
(x)(x)
(x) (x)
(x)
(o)
(o)
(o)(o)
(o)
(o)
Dimensão = m Dimensão = M >> m
x
x
x
x
x
x
x
x
x
x
o
o
o
o
o
o
(x)

(x)
(x)
(x)
(x)
(x)(x)
(x) (x)
(x)
(o)
(o)
(o)
(o)
(o)
(o)
Dimensão = m Dimensão = M >> m
Mudança de Paradigma 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
117 
SVM supera dois problemas 
• 1) Problema conceitual 
– Como controlar a complexidade do conjunto de aproximação. 
 
• Funções em alta dimensão a fim de proporcionar boa capacidade 
de generalização 
 
• Usar estimadores lineares penalizados com um grande número de 
funções-base 
 
• 2) Problema Computacional 
– Como realizar otimização numérica em espaço de alta 
dimensão 
 
• Usar uma representação kernel dual de funções lineares 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
118 
Há infinitas linhas que têm erro 
de treinamento zero 
Qual delas deveremos escolher? 
Classificadores lineares sobre problema 
linearmente separável 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
119 
 
– vetores Xi 
– rótulos yi = ±1 
 
Hiperplano de separação de 
margem ótima (Vapnik) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
120 
)(sign)( bf  XwX
w
1
1).( by ii Xw
w
w
:min
Hiperplano de separação de 
margem ótima (Vapnik) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
121 
)(sign by  Xw
1)(  by ii Xw
w
w
:min
Siby ii  ,1)( Xw



Si
iii y Xw 
 
– vetores Xi 
– rótulos yi = ±1 
 
 
 
 
 
– Vetores suporte: 
 
Vetores Suporte 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
122 
 
– vetores Xi 
– rótulos yi = ±1 
 
 
 
 
 
– Vetores suporte: 
 
)(sign)( bf  XwX
1)(  by ii Xw
w
w
:min
,b
Siby ii  ,1)( Xw



Si
iii y Xw 
)(sign)( byf
Si
iii  

XXX 
Máquina de Vetores Suporte (SVM) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
123 
 
– vetores Xi 
– rótulos yi = ±1 
 
 
– Vetores suporte: 
 
(vetores da margem 
e vetores de erro) 
 
)(sign by  Xw
Siby ii  ,1)( Xw



Si
iii y Xw 
)(sign)( byf
Si
iii  

XXX 
Hiperplano de separação com 
margem suave 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
124 
x
X
)(
)(
)(
xX
xX

 ii
),( K
),()()( xxxx ii K
))x,x(()x( bKysignf
Si
iii  

))()((sign)( byf
Si
iii  

xxX 
)()( xxXX  ii
Condição de Mercer 
)(sign)( byf
Si
iii  

XXX 
Kernels 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
125 
Tipo de Kernel 
i. Linear 
 
ii. Polinomial 
 
iii. Função Gaussiana de Base 
Radial 
 
 
iv. Função Exponencial Base 
Radial 
yxyxK ),(
dyxyxK )1(),( 







 

2
2
2
)(
exp),(

yx
yxK
v. Tangente 
 
vi. Séries de Fourier 
 
vii. Linear Splines 
 
 
 
viii. Bn-splines 
 







 

22
exp),(

yx
yxK
))(tanh(),( cyxbyxK 
 )(
))((
),(
2
1
2
1
yxsin
yxNsin
yxK



 
 3
2
),max(
3
1
),min(
2
)(
),min(1),(
yx
yx
yx
yxxyxyyxK



)(),( 12 yxByxK n  
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
126 
• Problema Primal 
 
 
 
• Sujeito a 
 



N
i
iFC
1
2
)(
2
1
),(  ww
   Niby iii ,,1,1  xw
Formulação do SVM para 
classificação 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
127 
 
Tipo de Perda 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
128 
• Problema dual 
 
 
• Sujeito a 
 
 
 
• Fórmula Usual em Otimização 
 
 

 

N
i
i
N
i
N
j
jijiji KyyW
11 1
),(
2
1
)(min  xx
NiCi ,,1,0 



N
i
ii y
1
0


TT cKW 
2
1
)(min
NiCi ,,1,0 
bA 
Formulação do SVM para classificação 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
129 
 
 
0
0
0
0
0
2
1
)(
4
3
2
1
432
4
1
1
4
1,
4321
















i
ii
ji
ijjiji
ysujeito
hyyL













9111
1911
1191
1119
K
 
 

n
i i
iiii yHyf
1
4
1
2* ]1).[()125.0(),()( xxxxx 
• Problema dual 
• Utilizando o kernel polinomial de ordem 2 
 
 
 
 
 
 
• Função 
 
 
 
1x
 
2x
 
y
 
 
Exemplo – Ou Exclusivo 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Spider 
130 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Instituto Max Planck 
131 
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
132 
Simulação 
• [x,y] = spir(100); 
• Ip = find(y==1); 
• In = find(y==-1) 
• plot(x(Ip,1),x(Ip,2),'r*') 
• hold on 
• plot(x(In,1),x(In,2),'b*') 
• d=data(x,y) 
• ker=kernel('rbf',0.4) 
• a1=svm({ker,'C=1e4','optimizer="decomp"'}) 
• [tr2 a2]=train(a1,d) 
• plot(a2) 
 
-1 -0.5 0 0.5 1 1.5 2 2.5 3
-1
-0.5
0
0.5
1
1.5
2
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
-0.5 0 0.5 1 1.5 2 2.5
-0.5
0
0.5
1
1.5
2
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
133 
Simulação 
• [x,y] = spir(100); 
• Ip = find(y==1); 
• In = find(y==-1) 
• plot(x(Ip,1),x(Ip,2),'r*') 
• hold on 
• plot(x(In,1),x(In,2),'b*') 
• d=data(x,y) 
• ker=kernel('rbf',0.4) 
• a1=svm({ker,'C=1e4','optimizer="decomp“,’ty
pe=“use2norm”'}) 
• [tr2 a2]=train(a1,d) 
• plot(a2) 
-0.5 0 0.5 1 1.5 2 2.5
-0.5
0
0.5
1
1.5
2
-1 -0.5 0 0.5 1 1.5 2 2.5 3
-1
-0.5
0
0.5
1
1.5
2
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
134 
Simulação 
• [x,y] = spir(100); 
• Ip = find(y==1); 
• In = find(y==-1) 
• plot(x(Ip,1),x(Ip,2),'r*') 
• hold on 
• plot(x(In,1),x(In,2),'b*') 
• d=data(x,y) 
• ker=kernel('rbf',0.4) 
• a1=lssvm({ker,'C=1e4}) 
• [tr2 a2]=train(a1,d) 
• plot(a2) 
-0.5 0 0.5 1 1.5 2 2.5
-0.5
0
0.5
1
1.5
2
-1 -0.5 0 0.5 1 1.5 2 2.5 3
-1
-0.5
0
0.5
1
1.5
2
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
135 
Simulação 
• [x,y] = spir(50); 
• d=data(x,y) 
• ker=kernel('rbf',0.4) 
• a1=lssvm({ker,'C=1e4’}) 
• a2=selparam(a1) 
• [tr3 a3]=train(a2,d) 
-10
-5
0
5
10
15
20
25
-4
-2
0
2
4
0
0.2
0.4
0.6
0.8
x
1
Optimizationgrid after first iteration
x
2
co
st
-10 -5 0 5 10 15 20 25
-3
-2
-1
0
1
2
3
4
Optimization grid after first iteration
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
136 
Simulação 
• [x,y] = spir(50); 
• d=data(x,y) 
• ker=kernel('rbf',0.4) 
• a1=lssvm({ker,'C=1e4’}) 
• a2=selparam(a1) 
• [tr3 a3]=train(a2,d) 
-4
-2
0
2
4
6
-2.5
-2
-1.5
-1
-0.5
0
0.2
0.4
0.6
0.8
log(C)
Grid Otimizacao depois da iteracao 2
co
st
-4 -3 -2 -1 0 1 2 3 4 5
-3
-2.5
-2
-1.5
-1
-0.5
Grid Otimizacao depois da iteracao 2
C= 76.0917 = 0.116834 
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
137 
Simulação 
• [x,y] = spir(50); 
• d=data(x,y) 
• ker=kernel('rbf',0.116834) 
• a1=lssvm({ker,'C=76.0917’}) 
• [tr2 a2]=train(a1,d) 
• plot(a2) 
C= 76.0917 = 0.116834 
-1 -0.5 0 0.5 1 1.5 2 2.5 3
-1
-0.5
0
0.5
1
1.5
2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
A tarefa de Predição 
138 
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Um método para predição 
 
 Máquinas Vetores Suporte 
 
SVM – Support Vector Machine 
139 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Classificação e Regressão 
• Qual é a diferença entre Classificação e 
Regressão ? 
 
• Em problemas de Regressão a variável de 
saída y assume valores contínuos, 
enquanto que em problemas de 
classificação y é estritamente categórica. 
 
140 
141 
• Desenvolvido por Vapnik (1995) 
 
• Modelo: Dado um conjunto de amostras 
estimar a função: 
 
 
• Minimizando 
 
• )(2
1
),(
1
2



l
i
iFCww 
Problema de Regressão 
bxwxf  ))(()( 
RyRxyxyx nll  ,),,(,),,( 11 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
142 
• Problema Primal 
 
 
 
• Sujeito a 
 
0
0
,,1,)(
,,1,)(
*
*




i
i
iii
iii
Niybxw
Nibxwy












 

N
i
i
N
i
Cwww
1
*
1
* )(
2
1
),,( 
Formulação do SVM para 
Regressão 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
143 
Funções de penalidade para 
regressão 
• -insensível 
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
e-Insentive
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
e-Quadratica
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
Huber
• -quadrática 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
144 
Formulação do SVM para Regressão 
NiCi ,,1,0
* 
• Problema dual 
 
 
• Sujeito a 
 
 
 
• Fórmula Usual em Otimização 
 
 

 

N
i
iii
N
i
iii
N
i
N
j
jijiji yKW
1
*
1
*
1 1
** )()())(,()(
2
1
)(min  xx
NiCi ,,1,0 


TT cHW 
2
1
)(min
NiCi ,,1,0  
bA 
Ni
N
i
N
i
ii ,,1,
1 1
*  
 

L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Predição - avaliação 
• Neste caso erros não são simplesmentes presentes ou 
ausentes, e sim de diferentes tamanhos. 
 
• Erro quadrado médio: medida mais usada. 
– as vezes a raíz quadrada é usada para trazer a medida para a mesma dimensão 
dos valores preditos. 
• Erro absoluto médio: alternativa 
– ao contrário do erro quadrado médio, não potencializa o efeito dos outliers. 
• Erro quadrado relativo: 
– toma o erro quadrado total e o normaliza dividindo-o pelo erro quadrado total do 
preditor padrão (média dos dados de treinamento). 
• Coeficiente de correlação: 
– mede a correlação estatísticas entre os valores preditos (p’s) e os valores 
esperados (a’s). 1 = correlação perfeita; 0 não há correlação; -1 correlação 
perfeita negativa. 
145 
(Witten & Frank, 2005) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
• Exemplo: 
146 
Predição - avaliação 
(Witten & Frank, 2005) 
Medidas de desempenho para modelos de predição numérica 
A B C D 
raíz do erro quadrado médio 67.8 91.7 63.3 57.4 
erro absoluto médio 41.3 38.5 33.4 29.2 
erro quadrado relativo médio 42.2% 57.2% 39.4% 35.8% 
erro absoluto médio 43.1% 40.1% 34.8% 30.4% 
coeficiente de correlação 0.88 0.88 0.89 0.91 
Melhor preditor! 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
147 
Exemplo 
 
(a) (b) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
148 
 
(c) (d) 
Figura – Aproximação com diferentes níveis de precisão requer um 
numero diferente de vetores suporte: 32 SV para  =0.01, (b) 12 SV 
para  = 0.05, (c) 10 SV para  = 0.1, (d) 6 SV para  = 0.2 para função 
de perda norma  - insensível. 
Exemplo 
L
im
a
, 
C
. 
M
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
A tarefa de Agrupamento 
149 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Agrupamento (clustering) 
• A tarefa de agrupamento consiste em agrupar um conjunto de objetos 
físicos ou abstratos em grupos de objetos similares. 
 
• Um grupo é uma coleção de objetos que são similares uns aos outros, 
dentro de um grupo, e dissimilares aos objetos de outros grupos. 
– pode ser considerada uma forma de compressão 
 
• O modelo de agrupamento não é construído com base em dados rotulados. 
Apenas a informação de similiridade entre os dados é usada. 
– após o modelo de agrupamento ser construídos, um processo de rotulação dos grupos 
formados pode ser útil. 
150 
(Han & Kamber, 2006) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. 
Agrupamento - aplicações 
• pesquisa de 
mercado 
 
 
 
 
• reconhecimento 
de padrões 
 
 
 
 
• análise de dados 
 
 
 
 
• processamento de 
imagens .... 
 151 
Os profissionais de marketing são apoiados pelos modelos de 
agrupamento na tarefa de descobrir grupos distintos em suas bases 
de clientes e na tarefa de caracterizá-los com base nos padrões 
descobertos. 
Em biologia, essa tarefa pode ser usada na derivação de 
taxonomias de plantas e animais, na caracterização de genes com 
funcionalidades similares e para descobrir estrutura inerentes a 
populações. 
Suportar a análise de documentos textuais e criar indexadores para 
recuperação de informação na WEB. 
Identificação de área de uso similar da terra ou identificação de 
grupos de casa em uma cidade, de acordo com a similaridade entre 
elas. 
(Han & Kamber, 2006) 
L
im
a
, 
C
. 
A
. 
M
. 
&
 P
e
re
s
, 
S
. 
M
. • Escalabilidade: trabalham muito bem em pequenos conjuntos de dados e podem 
apresentar-se “tendenciosos” em amostras de grandes conjuntos de dados. 
• Habilidade de lidar com diferentes tipos de atributos: lidam bem com atributos 
numéricos mas apresentam dificuldades com outros

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes