A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Mineração de dados Classificação: conceitos básicos e árvores de decisão Apresentação adaptada do material de apoio do livro: Introduction to Data Mining.

Apresentações semelhantes


Apresentação em tema: "Mineração de dados Classificação: conceitos básicos e árvores de decisão Apresentação adaptada do material de apoio do livro: Introduction to Data Mining."— Transcrição da apresentação:

1 Mineração de dados Classificação: conceitos básicos e árvores de decisão Apresentação adaptada do material de apoio do livro: Introduction to Data Mining Tan, Steinbach, Kumar

2 Classificação: Definição l Dada uma coleção de registros (conjunto de treinamento,training set ) –cada registro contém um conjunto de atributos, e um dos atributos é a classe. l Encontre um modelo para o atributo classe como uma função dos valores de outros atributos. l Objetivo: a classe deve ser atribuída tão acuradamente quanto possível para novos registros. –Um conjunto de teste (test set) é usado para determinar a acurácia do modelo. Geralmente o conjunto de dados é dividido em conjunto de treinamento e conjunto de teste.

3 Ilustrando a Tarefa de Classificação

4 Exemplos de Tarefas de Classificação l Predizer se um tumor é benigno ou maligno l Classificar transações de cartões de crédito como legítimas ou fraudulentas l Classificar estruturas secundárias de proteínas como alpha-helix, beta-sheet, or random coil l Categorizar textos como da área de finanças, previsão de tempo, esportes, cultura, etc.

5 Técnicas de Classificação l Métodos baseados em árvores de decisão l Métodos baseados em regras l Raciocínio baseado em memória l Redes neurais l Naïve Bayes e Redes Bayesianas l Máquinas de Vetores de Suporte (Support Vector Machines)

6 Exemplo de uma árvore de decisão categorical continuous class Refund MarSt TaxInc YES NO YesNo Married Single, Divorced < 80K> 80K Atributo teste Dados de treinamento Modelo: árvore de decisão

7 Outro exemplo de árvore de decisão categórico contínuo classe MarSt Refund TaxInc YES NO Yes No Married Single, Divorced < 80K> 80K Pode haver mais de um árvore para o mesmo conjunto de dados

8 Classificação usando árvores de decisão Decision Tree

9 Aplicando o modelo nos dados de teste Refund MarSt TaxInc YES NO YesNo Married Single, Divorced < 80K> 80K Comece pela raíz da árvore. Dado para teste

10 Aplicando o modelo nos dados de teste Refund MarSt TaxInc YES NO YesNo Married Single, Divorced < 80K> 80K Dado para teste

11 Aplicando o modelo nos dados de teste Refund MarSt TaxInc YES NO YesNo Married Single, Divorced < 80K> 80K Dado para teste

12 Aplicando o modelo nos dados de teste Refund MarSt TaxInc YES NO YesNo Married Single, Divorced < 80K> 80K Dado para teste

13 Aplicando o modelo nos dados de teste Refund MarSt TaxInc YES NO YesNo Married Single, Divorced < 80K> 80K Dado para teste

14 Aplicando o modelo nos dados de teste Refund MarSt TaxInc YES NO YesNo Married Single, Divorced < 80K> 80K Assign Cheat to No Dado para teste

15 Classificação com árvore de decisão Decision Tree

16 Indução de árvores de decisão l Vários algoritmos: –Hunts Algorithm (um dos primeiros) –CART –ID3, C4.5 –SLIQ,SPRINT

17 Estrutura geral do algorítmo de Hunt l Seja D t o conjunto de registros de teste que alcança o nodo t l Procedimento geral: –Se D t só contém registros que pertencem a mesma classe y t, então t é um nodo folha rotulado como y t –Se D t é um conjunto vazio, então t é um nodo folha rotulado com a classe default, y d –Se D t contém registros que pertencem a mais de uma classe, use um atributo teste para dividir os dados em subconjuntos menores. Recursivamente aplique o procedimento para cada subconjunto. DtDt ?

18 Hunts Algorithm Dont Cheat Refund Dont Cheat Dont Cheat YesNo Refund Dont Cheat YesNo Marital Status Dont Cheat Single, Divorced Married Taxable Income Dont Cheat < 80K>= 80K Refund Dont Cheat YesNo Marital Status Dont Cheat Single, Divorced Married

19 Indução da árvore l Estratégia gulosa. –Divida os registros baseado no atributo teste que otimiza um certo critério. l Questões –Determine como dividir os registros Como especificar qual o atributo teste? Como determinar a melhor divisão? –Determine quando parar de dividir

20 Como especificar qual o atributo teste? l Depende do tipo dos atributos –Nominal (categórico,...) –Ordinal –Contínuo l Depende do tipo de divisão –divisão binária –divisão em múltiplos caminhos

21 Divisão baseada em atributos nominais l Divisão múltipla: Use tantas partições quantos forem os valores distintos do atributo. l Divisão binária: Divide em dois subconjuntos. Necessidade de encontrar o particionamento ótimo. CarType Family Sports Luxury CarType {Family, Luxury} {Sports} CarType {Sports, Luxury} {Family} OU

22 l Divisão múltipla : Use tantas partições quantos forem os valores distintos do atributo l Divisão binária: Divide em dois subconjuntos. Necessidade de encontrar o particionamento ótimo. l E esta divisão? Divisão baseada em atributos ordinais Size Small Medium Large Size {Medium, Large} {Small} Size {Small, Medium} {Large} OU Size {Small, Large} {Medium}

23 Divisão baseada em atributos contínuos l Diferentes formas de tratar –Discretização para formar um atributo ordinal categórico Estático – discretizar uma vez no início Dinâmico – intervalos podem ser determinados por mesmo tamanho, mesma freqüência, clustering. –Decisão binária: (A < v) or (A v) considera todas as divisões possíveis e usa a melhor

24 Divisão baseada em atributos contínuos

25 Indução de árvores l Estratégia gulosa. –Divida os registros baseado no atributo teste que otimiza um certo critério. l Questões –Determine como dividir os registros Como especificar qual o atributo teste? Como determinar a melhor divisão? –Determine quando parar de dividir

26 Como determinar a melhor divisão Antes da divisão: 10 registros da classe 0, 10 registros da classe 1 Qual divisão é a melhor?

27 Como determinar a melhor divisão l Estratégia gulosa : –Nós com distribuição de classe homogenea são preferidos l Necessita da medida da impureza do nó: Não-homogênea, Alto grau de impureza Homogêneo, baixo grau de impureza

28 Medidas de impureza de um nó l Índice de Gini l Entropia l Erro de classificação

29 Como encontrar a melhor divisão? B? SimNão Nodo N3Nodo N4 A? SimNão Nodo N1Nodo N2 Antes da divisão: M0 M1 M2M3M4 M12 M34 Ganho = M0 – M12 vs M0 – M34

30 Medida da impureza: GINI l Índice Gini para um nó t : (Nota: p( j | t) é a freqüência relativa da classe j no nó t). –Máximo (1 - 1/n c ) quando os registros estão igualmente distribuídos entre todas as classes (pior) –Mínimo (0.0) quando todos os registros pertencem a uma classe (melhor)

31 Exemplos do cálculo do índice GINI P(C1) = 0/6 = 0 P(C2) = 6/6 = 1 Gini = 1 – P(C1) 2 – P(C2) 2 = 1 – 0 – 1 = 0 P(C1) = 1/6 P(C2) = 5/6 Gini = 1 – (1/6) 2 – (5/6) 2 = P(C1) = 2/6 P(C2) = 4/6 Gini = 1 – (2/6) 2 – (4/6) 2 = 0.444

32 Divisão baseda no índice GINI l Usado nos métodos CART, SLIQ, SPRINT. l Quando um nó p é dividido em k partições (filhos), a qualidade da divisão é calculada como, onde,n i = número de registros no filho i, n = número de registros no nó p.

33 Índice Gini para atributos categóricos Multi-way splitBinary split (find best partition of values)

34 Atributos contínuos: cálculo do índice Gini l Usar decisão binária baseada em um valor l Várias possibilidades para a escolha do valor de corte –Número de possíveis cortes = número de valores distintos l Cada valor de corte tem uma matriz associada –Contadores de classe para cada partição possível, A < v and A v l Método simples para escolher o melhor valor de corte –Para cada v, varra os dados para realizar a contagem e calcular o índice Gini –Computacionalmente ineficiente! Reptição do trabalho.

35 Atributos contínuos: cálculo do índice Gini l Para uma computação eficiente: para cada atributo contínuo, –Classifique os valores do atributo em ordem crescente –percorra os dados, atualizando a matriz de contadores e calculando o índice Gini –Escolha a posição de corte que tem o menor índice Gini Split Positions Sorted Values

36 Divisão baseada em entropia l Entropia em um nó t: (Nota: p( j | t) é a freqüência relativa da classe j no nó t). –Mede a homogeneidade de um nó. Máximo (log n c ) quando os registros estão igualmente distribuídos entre todas as classes Mínimo (0.0) quando todos os registros pertencem a uma classe –O cálculo baseado em entropia é similar ao baseado no índice Gini

37 Exemplos de cálculo da entropia P(C1) = 0/6 = 0 P(C2) = 6/6 = 1 Entropia = – 0 log 0 – 1 log 1 = – 0 – 0 = 0 P(C1) = 1/6 P(C2) = 5/6 Entropia = – (1/6) log 2 (1/6) – (5/6) log 2 (1/6) = 0.65 P(C1) = 2/6 P(C2) = 4/6 Entropia = – (2/6) log 2 (2/6) – (4/6) log 2 (4/6) = 0.92

38 Divisão baseada em entropia... l Ganho de Informação (Information Gain): O nó pai p é dividido em k partições; n i é o número de registros na partição i –Mede a redução da entropia em função da divisão. Escolhe a divisão que obtém maior redução (maximiza o ganho) –Usado nos métodos ID3 e C4.5 –Desvantagem: Tende a preferir divisões que resultam em grande número de partições, cada uma delas sendo pequena mas pura.

39 Splitting Based on INFO... l Razão de ganho (Gain Ratio): O nó pai p é dividido em k partições; n i é o número de registros na partição i –Ajusta o Ganho de Informação pela entropia do particionamento (SplitINFO). Particionamento de alta entropia (grande número de pequenas partições) é penalizado. –Usado no C4.5 –Projetado para evitar as desvantagens do Ganho de Informação

40 Exemplo:

41 Entropia e Ganho de Informação Considerando apenas 2 valores possíveis, a entropia é dada pela fórmula: Entropia (S) = - (p + log 2 p + + p - log 2 p - ) Onde: S é a totalidade de amostras do conjunto (todos os registros) p + é a proporção de amostras positivas p - é a proporção de amostras negativas Exemplo: Se S é uma coleção de 14 exemplos com 9 instâncias positivas e 5 negativas, então: Entropia (S) = - (9/14) Log 2 (9/14) – (5/14) Log 2 (5/14) = 0.940

42 Nodo raiz Selecionando o melhor atributo: Entropia(S) = - 9/14 log 2 (9/14) - 5/14 log 2 (5/14) = 0,940 Entropia(montante=médio) = - 2/5 log 2 (2/5) - 3/5 log 2 (3/5) = 0,971 Entropia(montante=baixo) = - 4/4 log 2 (4/4) - 0/4 log 2 (0/4) = 0 Entropia(montante=alto) = - 3/5 log 2 (3/5) - 2/5 log 2 (2/5) = 0,971 Gain (S,montante) = 0,940 - (5/14) 0,971 - (4/14) 0 - (5/14) 0,971 = 0,246 Gain (S,idade) = 0,940 - (4/14) 1 - (5/14) 0,971 - (5/14) 0,722 = 0,049 Gain (S,salário) = 0,940 - (7/14) 0,592 - (7/14) 0,985 = 0,151 Gain (S,conta) = 0,940 - (8/14) 0,811 - (6/14) 1 = 0,047

43 Escolha do próximo atributo Qual atributo pode ser testado aqui? montante médiobaixoalto ?? sim {C1,C2,...C14} [9+, 5-] {C1,C2,C8,C9,C11} [2+, 3-] {C3,C7,C12,C13} [4+, 0-] {C4,C5,C6,C10,C14} [3+, 2-]

44 Escolha o próximo atributo Qual é o melhor atributo? S médio = { C1,C2,C8,C9,C11 } Gain ( S médio, idade) = 0,971 - (2/5)0 - (2/5)1 - (1/5)0 = 0,571 Gain ( S médio, salário) = 0,971 - (3/5)0 - (2/5)0 = 0,971 Gain ( S médio, conta) = 0,971 - (3/5)0,918 - (2/5)1= 0,020

45 montante médiobaixoalto ?salário sim {C1,C2,...C14} [9+, 5-] {C1,C2,C8,C9,C11} [2+, 3-] {C3,C7,C12,C13} [4+, 0-] {C4,C5,C6,C10,C14} [3+, 2-] baixoalto {C1,C2,C8} [0+, 3-] {C9,C11} [2+, 0-]

46 Resultado montante médiobaixoalto contasalário baixoaltonãosim E=sim E=não E=sim

47 Divisão baseada em erro de classificação l Erro de classificação no nó t : l Mede o erro de classificação em um nó. Máximo (1 - 1/n c ) quando os registros são igualmente distribuídos entre todas as classes (pior) Mínimo (0.0) quando todos os registros pertencem à mesma classe (melhor)

48 Exemplos de cálculo de erro de classificação P(C1) = 0/6 = 0 P(C2) = 6/6 = 1 Error = 1 – max (0, 1) = 1 – 1 = 0 P(C1) = 1/6 P(C2) = 5/6 Error = 1 – max (1/6, 5/6) = 1 – 5/6 = 1/6 P(C1) = 2/6 P(C2) = 4/6 Error = 1 – max (2/6, 4/6) = 1 – 4/6 = 1/3

49 Comparação entre os critérios de divisão Para problemas com duas classes:

50 Indução de árvores l Estratégia gulosa. –Divida os registros baseado no atributo teste que otimiza um certo critério. l Questões –Determinar como dividir os registros Como especificar qual o atributo teste? Como determinar a melhor divisão? –Determinar quando parar de dividir

51 Critérios de parada para a indução de árvores l Pare de expandir um nó quando todos os registros pertencem à mesma classe l Pare de expandir um nó quando todos os registros tiverem os mesmos valores de atributo

52 Classificação baseada em árvores de decisão l Vantagens: –Construção barata –Extremamente rápido para classificar novos registros –Fácil interpretação de árvores pequenas –A acurácia é comparável a outros métodos de classificação para muitos conjuntos de dados

53 Exemplo: C4.5 l Algoritmo simples, em profundidade. l Usa o Ganho de Informação (Information Gain) l Classifica atributos contínuos em cada nó. l Exige que todos os dados caibam em memória. l Não indicado para grandes conjuntos de dados. –Necessita classificação em disco. l O Software pode ser baixado do site:

54 Questões práticas de classificação l Sub e super-especialização (Underfitting and Overfitting) l Valores faltantes l Custo da classificação

55 Sub e super-especialização (Exemplo) 500 pontos circulares e 500 pontos triangulares data. Pontos circulares: 0.5 sqrt(x 1 2 +x 2 2 ) 1 Pontos triangulares: sqrt(x 1 2 +x 2 2 ) > 0.5 or sqrt(x 1 2 +x 2 2 ) < 1

56 Sub e super-especialização Overfitting Sub-especialização: quando o modelo é simples demais, os erros com os dados de treinamento e de teste são grandes

57 Super-especialização em função do ruído A fronteira de decisão é distorcida pelo ruído


Carregar ppt "Mineração de dados Classificação: conceitos básicos e árvores de decisão Apresentação adaptada do material de apoio do livro: Introduction to Data Mining."

Apresentações semelhantes


Anúncios Google