Post on 21-Nov-2018
Algoritmos de Analise de Dados
Algoritmos para AnalsieAutomatica de Dados
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Topicos
I Arvores de Decisao
I Clustering
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Topicos
I O que sao
I Como se constroem
I Exemplos
I Topicos avancados sobre Arvores de Decisao
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Arvores de Decisao
Bibliografia
I Machine Learning,Tom MitchellMcGraw-Hill, 1997
I C4.5: programs for machine learning,Ross QuinlanMorgan Kaufmann Publishers, 1993
I Classificatin and Regression Trees,Leo Breiman, J. Friedman, R. Olshen e C.StoneChapman & HallEllis-Horwood editors, 1984
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Sistemas
I ID3 (Ross Quinlan, 1986)
I C4.5 (Ross Quinlan, 1993)
I C5.0/See5 (Ross Quinlan)
I CART (Leo Breiman et al, 1980)
I Random Forest (RF) (Leo Breiman et al)
I ASSISTANT86 (Ivan Bratko et al)
I Ltree (Joao Gama)
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Aplicacoes
I Construcao/utilizacao de Classificadores ;-)
I Processo automatico de aquisicao de Conhecimentoexemplo: sistema KARDIO (Bratko, Lavrac, Mozetic, Kononenko)
I Explicitacao de ConhecimentoArvores de Decisao como pos-processamento para “sistemas opacos”(exemplo: “perceber” o conteudo de Redes Neuronais)
(exemplo: C4.5 + boxes)
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Arvore de Decisao para “decidir se vou jogar Tenis”
do livro “Machine Learning”, Tom Mitchell, pp 53, McGraw-Hill, 1997
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Arvore para prever Riscos com Cesarianas (C-Section Risk)
Construıda a partir de 1000 registos de mulheresOs exemplos negativos sao as C-sections
[833+, 167−] .83 + .17−FetalP resentation = 1 : [822+, 116−] .88 + .12−| PreviousC section = 0 : [767+, 81−] .90 + .10−| | Primiparous = 0 : [399+, 13−] .97 + .03−| | Primiparous = 1 : [368+, 68−] .84 + .16−| | | FetalD istress = 0 : [334+, 47−] .88 + .12−| | | | BirthW eight < 3349 : [201+, 10.6−] .95 + .05−| | | | BirthW eight >= 3349 : [133+, 36.4−] .78 + .22−| | | FetalD istress = 1 : [34+, 21−] .62 + .38−| PreviousC section = 1 : [55+, 35−] .61 + .39−FetalP resentation = 2 : [3+, 29−] .11 + .89−FetalP resentation = 3 : [8+, 22−] .27 + .73−
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Representacao
Representacao das Arvores de Decisao:
I Cada no interno efectua um teste a um atributo
I Cada ramo corresponde a um valor para o atributo testado
I Cada folha atribui uma classificacao
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Quando decidir usar uma A.D.?
I Instancias/casos codificaveis por pares atributo-valor
I Funcao pretendida e conjunto de valores discretos
I Pode ser necessario haver hipoteses disjuntas
I Possibilidade de haver ruıdo nos dados
Exemplos:
I Tarefa de diagnostico medico ou de um equipamento
I Analise de risco de credito
I Modelizar preferencias de marcacao de reunioes
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Escolha do valor de controlo dos elevators
altitude altitude desvio velocidade elevators(referencia) altitude subida
2500 2495 -5 100 nao altere2500 2500 0 100 empurre2500 2505 5 100 empurre2500 2495 -5 0 puxe2500 2500 0 0 nao altere2500 2505 5 0 empurre2500 2495 -5 -100 puxe2500 2500 0 -100 puxe2500 2505 5 -100 nao altere2400 2395 -5 100 nao altere2400 2400 0 100 empurre2400 2405 5 100 empurre2400 2395 -5 0 puxe2400 2400 0 0 nao altere2400 2405 5 0 empurre2400 2395 -5 -100 puxe2400 2400 0 -100 puxe2400 2405 5 -100 nao altere
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Escolha do valor dos elevators (cont.)
altitude altitude desvio velocidade elevatorsreferencia altitude subida
2600 2595 -5 100 nao altere2600 2600 0 100 empurre2600 2605 5 100 empurre2600 2595 -5 0 puxe2600 2600 0 0 nao altere2600 2605 5 0 empurre2600 2595 -5 -100 puxe2600 2600 0 -100 puxe2600 2605 5 -100 nao altere
velocidade subita e climb rate
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Escolha do valor de controlo dos elevators
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Top-Down Induction of Decision Trees
Ciclo principal:
1. At ← o “melhor” atributo para o teste do proximo no
2. Aceitar At como atributo a testar no no
3. Para cada valor possıvel de At criar um descendente do no
4. Distribuir os exemplos de treino pelas folhas actuais
5. Se os exemplos de treino sao correctamente classificadosentao PARE caso contrario repita recursivamente o processopara cada no descendente
Questao central: Qual e o melhor atributo?
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Criterios para escolha do melhor atributo
I Entropia Conceito de Teoria de Informacao que mede aimpureza de uma divisaoEscolhe o atributo que mais reduz a entropia Usado no ID3 eC4.5
I Indice GINI Outra medida da impureza de um noEscolhe o atributo que minimisa a impurezaUsado no CART
I Estatıstica de uma tabela de contingencia (χ2) Mede acorrelacao de um atributo com a classeEscolhe o atributo com maior correlacaoUsado no CHAID
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Entropia
I S e uma amostra do conjunto de treino
I pa e a proporcao de exemplos da classe “a” em S
I pb e a proporccao de exemplos da classe “b” em S
I A Entropia mede o grau de impureza de S
Entropia(S) ≡ −pa log2 pa − pb log2 pb
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Entropia
Entropia(S) = numero esperado de bits necessarios para codificara classe (“a” ou “b”) de um elemento de S escolhidoaleatoriamente com distribuicao uniforme (sob o optimo, codigo decomprimento mınimo)
Porque?Da Teoria da Informacao: um codido de comprimento optimoatribui − log2 p bits a uma mensagem que tenha probabilidade p.
Logo, o numero esperado de bits para codificar “a” ou “b” deelementos selecionados aleatoriamente de S e:
pa(− log2 pa) + pb(− log2 pb)
Entropia(S) ≡ −pa log2 pa − pb log2 pb
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Ganho de Informacao
Ganho(S,A) = reducao esperada na entropia por usar o atributo A
Ganho(S ,A) ≡ Entropia(S) −∑
v∈Valores(A)
|Sv ||S |
Entropia(Sv )
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Conjunto de treino
Day Outlook Temperature Humidity Wind PlayTennis
D1 Sunny Hot High Weak NoD2 Sunny Hot High Strong NoD3 Overcast Hot High Weak YesD4 Rain Mild High Weak YesD5 Rain Cool Normal Weak YesD6 Rain Cool Normal Strong NoD7 Overcast Cool Normal Strong YesD8 Sunny Mild High Weak NoD9 Sunny Cool Normal Weak Yes
D10 Rain Mild Normal Weak YesD11 Sunny Mild Normal Strong YesD12 Overcast Mild High Strong YesD13 Overcast Hot Normal Weak YesD14 Rain Mild High Strong No
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Seleccionando um atributo
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Espaco de Hipoteses procurado pelo ID3
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
O Espaco das Hipoteses
I O espaco das hipoteses e completo!I A funcao solucao esta garantidamente la ...
I Calcula uma unica hipotese (Qual?)I Sem back tracking
I Mınimos locais...
I Escolhas feitas na procura baseadas em EstatısticasI Robusta em dados com ruıdos...
I Inductive bias: em caso de proximidade “prefira as arvoresmais pequenas”
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Sobre-ajuste em Arvores de Decisao
Considere a adicao do exemplo, com ruıdo, numero 15:
Sunny , Hot, Normal , Strong , PlayTennis = No
Qual o efeito sobre a arvore anterior?
Sobre-ajuste e traducao de overfitting
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Sobre-ajuste
Considere que o erro da hpotese h no
I conjunto de treino e: errotreino(h)
I na distribuicao toda D dos dados: erroD(h)
A hipotese h ∈ H sobre-ajusta os dados de treino se existir umahipotese alternativa h′ ∈ H tal que
errotreino(h) < errotreino(h′)
eerroD(h) > erroD(h′)
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Efeito do sobre-ajustamento
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Evitar o sobre-ajustamento
Como evitar o sobre-ajustamento?
I Pare de crescer a arvore quando a divisao nao eestatisticamente significativa
I Cresca a arvore completa e remova posteriormente “nosinuteis” (post-prune)
Como seleccionar “a melhor” arvore:
I Meca o desempenho no conjunto de treino
I Meca o desempenho num conjunto a parte (de validacao)
I MDL: minimise tamanho(arvore) +tamanho(malclassificados(arvore))
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Poda tipo Reduced-Error
Divida os dados num conjunto de treino e de validacao
Faca ate que o pruning seja prejudicial:
1. Avalie o impacto do pruning no validation set em cada nopossıvel (mais os seus descendentes)
2. De modo ganancioso remova o no que tiver maiormelhoramento de accuracy no conjunto de validacao
I Produz a versao mais pequena da subarvore mais precisa
I E se a quantidade de dados for limitada?
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Efeito da poda tipo Reduced-Error
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Regra de “Pos-Poda”
1. Converta a arvore num conjunto equivalente de regras
2. Faca o pruning de cada regra de modo independente dasoutras
3. Ordene as regras finais na sequencia desejada para utilizacao
Provavelmente o metodo mais usado (e.g., C4.5)
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Converter uma Arvore em Regras
IF (Outlook = Sunny) ∧ (Humidity = High)THEN PlayTennis = No
IF (Outlook = Sunny) ∧ (Humidity = Normal)THEN PlayTennis = Yes
. . .
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Atributos com Valores Contınuos
Gerar dinamicamente um atributo discreto para o teste deatributos contınuos
I Temperature = 82.5
I (Temperature > 72.3) = t, f
Temperature: 40 48 60 72 80 90PlayTennis: No No Yes Yes Yes No
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Atributos com muitos valores
Problema:
I Se um atributo tem muitos valores, Ganho vai escolhe-lo
I Considere a utilizacao da Data = Nov 16 2004 como atributo
Uma abordagem: use antes o GainRatio
GainRatio(S ,A) ≡ Gain(S ,A)
SplitInformation(S ,A)
SplitInformation(S ,A) ≡ −c∑
i=1
|Si ||S |
log2|Si ||S |
em que Si e um subconjunto de S para o qual A tem valor vi
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Lidar com Valores desconhecidos de Atributos
E se for desconhecido o valor do atributo A nalguns exemplos?Use na mesma o conjunto de treino
I Se o no n testa A, atribua o valor mais comum de A entre osexemplos que chegaram a esse no n
I Atribua o valor mais comum de A entre os outros exemploscom o mesmo valor da classe
I Atribua probabilidades pi a cada possıvel valor vi de AI Atribua um afraccao pi de exemplo a cada descendente na
arvore
Classifique novos exemplos da mesma maneira
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Attribute spaceregions boundaries parallel to the axis
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Attribute spaceregions boundaries not parallel to the axis
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
cart decision tree for setting elevators
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
General Definition
Clustering is the process of grouping the data into classes orclusters so that objects within a cluster have high similarity incomparison to one another and, but are very dissimilar to objectsin other clusters.Dissimilarities are assessed based on the attribute values describingthe objects. Often a distance measure is used
from ”Data Mining: concepts and techniques” by J. Han and M. Kamber
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Content
I Basic issues of clustering
I Partition type clustering
I Hierarchical clustering
I Relational clustering
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Clustering
Bibliography
I Machine Learning,Tom MitchellMcGraw-Hill, 1997
I Data Mining: concepts and techniques,J. Han and M. KamberMorgan Kaufmann Publishers, 2001
Tools
I Weka,http://www.cs.waikato.ac.nz/ml/weka/
I Cluto,http://glaros.dtc.umn.edu/gkhome/views/cluto
I RLTB,Nuno Fonseca, Vitor Costa and Rui Camacho
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Potential uses of Clustering
I As a stand-alone tool to get insight into data distribution
I prospective analysis of dataas a pre-processing for other algorithms
I Outliers detection
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Some Applications
I Pattern RecognitionI Spatial Data Analysis
I Create thematic maps in GIS by clustering feature spacesI Detect spatial clusters or for other spatial mining tasks
I Image processing
I Economic Science (especially market research)I WWW
I Document classificationI Cluster Weblog data to discover groups of similar access
patterns
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Applications Examples
I Marketing: Help marketers discover distinct groups in theircustomer bases, and then use this knowledge to developtargeted marketing programs
I Land use: Identification of areas of similar land use in anearth observation database
I Insurance: Identifying groups of motor insurance policyholders with a high average claim cost
I City-planning: Identifying groups of houses according to theirhouse type, value, and geographical location
I Earth-quake studies: Observed earth quake epicentersshould be clustered along continent faults
from ”Data Mining: concepts and techniques” by J. Han and M. Kamber
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Aspects to consider in Cluster Analysis
I Scalability
I Ability to deal with different types of attributes
I Discovery of clusters with arbitrary shape
I Domain knowledge to determine input parameters(number of clusters, for example)
I Ability to deal with noisy data
I Insensitivity to the order of input data
I High dimensionality
I Constraint-based clustering
I Interpretability and usability
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Data Structure
Usual Data formats
I Data Matrix (Attributes X Objects — two modes)
I Dissimilarity-Distance Matrix (Objects X Objects — onemode)
Normalization according to data type
I numerical – z-score(compute mean, mean absolute deviation and then z-score)
I binary – use contingency table
I Nominal, ordinal, and ratio variables
I Variables of mixed types
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Popular Distances – numerical attributes
Distances:
I Euclidean distanced(i,j) =
√|xi1 − xj1|2 + · · ·+ |xip − xjp|2
I Manhattan distance (or city block distance)d(i,j) = |xi1 − xj1|+ · · ·+ |xip − xjp|
I Minkowski distanced(i,j) = (|xi1 − xj1|q + · · ·+ |xip − xjp|q)
1q
Important features of a clustering distance measure:
I d(i,j) ≥: measure is nonnegative
I d(i,i) = 0: distance of an object to itself is zero
I d(i,j) = d(j,i): distance is a symmetric function
I d(i,j) ≤ d(i,h) + d(h,j): triangular inequality
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Popular Distances – binary attributes
Object j
1 0 Sum
1 q r q + rObject i 0 s t s + t
Sum q + s r + t p
I invariant similaritysimple match coef: d(i,j) = r+s
q+r+s+t
I non-invariant similarityJaccard coef: d(i,j) = r+s
q+r+s
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Popular Distances – nominal attributes
I A generalization of the binary variable considering more than2 states, e.g., mother, father, daughter
I Method 1:simple match: d(i,j) = p−m
pm exact matches, p variables
I Method 2:define one binary variable for each value and then do as inbinary type variables
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Categorization of Clustering Methods
I Partitioning approach: Construct various partitions and thenevaluate them by some criterion, e.g., minimizing the sum ofsquare errorsTypical methods: k-means, k-medoids, CLARANS
I Hierarchical approach: Create a hierarchical decompositionof the set of data (or objects) using some criterionTypical methods: Diana, Agnes, BIRCH, ROCK, CAMELEON
I Density-based approach: Based on connectivity and densityfunctionsTypical methods: DBSACN, OPTICS, DenClue
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Categorization of Clustering Methods (cont.)
I Grid-based approach: based on a multiple-level granularitystructureTypical methods: STING, WaveCluster, CLIQUE
I Model-based: A model is hypothesized for each of theclusters and tries to find the best fit of that model to eachotherTypical methods: EM, SOM, COBWEB
I Frequent pattern-based: Based on the analysis of frequentpatternsTypical methods: pCluster
I User-guided or constraint-based: Clustering by consideringuser-specified or application-specific constraintsTypical methods: COD (obstacles), constrained clustering
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Alternatives to Calculate the Distance between Clusters
I Single link: smallest distance between an element in onecluster and an element in the other,i.e., dis(Ki, Kj) = min(tip, tjq)
I Complete link: largest distance between an element in onecluster and an element in the other,i.e., dis(Ki, Kj) = max(tip, tjq)
I Average: avg distance between an element in one cluster andan element in the other,i.e., dis(Ki, Kj) = avg(tip, tjq)
I Centroid: distance between the centroids of two clusters,i.e., dis(Ki, Kj) = dis(Ci, Cj)
I Medoid: distance between the medoids of two clusters,i.e., dis(Ki, Kj) = dis(Mi, Mj)
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Partitioning Algorithms
I Partitioning method: Construct a partition of a database D ofn objects into a set of k clusters, s.t., min sum of squareddistance
E =k∑
i=1
∑p∈Ci
|p −mi |2
I Given a k, find a partition of k clusters that optimizes thechosen partitioning criterion
I Global optimal: exhaustively enumerate all partitionsI Heuristic methods: k-means and k-medoids algorithmsI k-means (MacQueen67): Each cluster is represented by the
center of the clusterI k-medoids or PAM (Partition around medoids) (Kaufman &
Rousseeuw87): Each cluster is represented by one of theobjects in the cluster
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
The k-means algorithm
Given k, the k-means algorithm is implemented in four steps:
1. Partition objects into k nonempty subsets
2. Compute seed points as the centroids of the clusters of thecurrent partition (the centroid is the center, i.e., mean point,of the cluster)
3. Assign each object to the cluster with the nearest seed point
4. Go back to Step 2, stop when no more new assignment
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
The k-means algorithm
from ”Data Mining: concepts and techniques” by J. Han and M. Kamber
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
The k-means algorithm
I Strength: Relatively efficient: O(tkn), where n is # objects,k is # clusters, and t is # iterations. Normally, k, t << n.
I Comment: Often terminates at a local optimum. The globaloptimum may be found using techniques such as:deterministic annealing and genetic algorithms
I WeaknessI Applicable only when mean is defined, then what about
categorical data?I Need to specify k, the number of clusters, in advanceI Unable to handle noisy data and outliersI Not suitable to discover clusters with non-convex shapes
Rui Camacho Estrutura de Dados e Algoritmos
Algoritmos de Analise de Dados
Hierarchical clustering
from ”Data Mining: concepts and techniques” by J. Han and M. Kamber
Rui Camacho Estrutura de Dados e Algoritmos