algoritmos para an alsie autom atica de dados - web.fe.up.pt · algoritmos de an alise de dados...

58
Algoritmos de An´ alise de Dados Algoritmos para An´ alsie Autom´ atica de Dados Rui Camacho Estrutura de Dados e Algoritmos

Upload: ngohuong

Post on 21-Nov-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

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

Arvores de Decisao

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

Clustering

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

Algoritmos de Analise de Dados

Dendogram

from ”Data Mining: concepts and techniques” by J. Han and M. Kamber

Rui Camacho Estrutura de Dados e Algoritmos