Minera - PowerPoint PPT Presentation

1 / 57
About This Presentation
Title:

Minera

Description:

Title: Steven F. Ashby Center for Applied Scientific Computing Month DD, 1997 Author: Computations Last modified by: Luis Otavio Created Date: 3/18/1998 1:44:31 PM – PowerPoint PPT presentation

Number of Views:104
Avg rating:3.0/5.0
Slides: 58
Provided by: Comput731
Category:
Tags: maligno | minera | tumor

less

Transcript and Presenter's Notes

Title: Minera


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
  • 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.
  • Encontre um modelo para o atributo classe como
    uma função dos valores de outros atributos.
  • 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
  • Predizer se um tumor é benigno ou maligno
  • Classificar transações de cartões
  • de crédito como legítimas ou
  • fraudulentas
  • Classificar estruturas secundárias de
  • proteínas como alpha-helix,
  • beta-sheet, or random coil
  • Categorizar textos como da área de finanças,
  • previsão de tempo, esportes, cultura, etc.

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

6
Exemplo de uma árvore de decisão
Atributo teste
Refund
Yes
No
MarSt
NO
Married
Single, Divorced
TaxInc
NO
lt 80K
gt 80K
YES
NO
Modelo árvore de decisão
Dados de treinamento
7
Outro exemplo de árvore de decisão
contínuo
categórico
categórico
classe
Single, Divorced
MarSt
Married
Refund
NO
No
Yes
TaxInc
lt 80K
gt 80K
YES
NO
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
Dado para teste
Comece pela raíz da árvore.
10
Aplicando o modelo nos dados de teste
Dado para teste
11
Aplicando o modelo nos dados de teste
Dado para teste
Refund
Yes
No
MarSt
NO
Married
Single, Divorced
TaxInc
NO
lt 80K
gt 80K
YES
NO
12
Aplicando o modelo nos dados de teste
Dado para teste
Refund
Yes
No
MarSt
NO
Married
Single, Divorced
TaxInc
NO
lt 80K
gt 80K
YES
NO
13
Aplicando o modelo nos dados de teste
Dado para teste
Refund
Yes
No
MarSt
NO
Married
Single, Divorced
TaxInc
NO
lt 80K
gt 80K
YES
NO
14
Aplicando o modelo nos dados de teste
Dado para teste
Refund
Yes
No
MarSt
NO
Assign Cheat to No
Married
Single, Divorced
TaxInc
NO
lt 80K
gt 80K
YES
NO
15
Classificação com árvore de decisão
Decision Tree
16
Indução de árvores de decisão
  • Vários algoritmos
  • Hunts Algorithm (um dos primeiros)
  • CART
  • ID3, C4.5
  • SLIQ,SPRINT

17
Estrutura geral do algorítmo de Hunt
  • Seja Dt o conjunto de registros de teste que
    alcança o nodo t
  • Procedimento geral
  • Se Dt só contém registros que pertencem a mesma
    classe yt, então t é um nodo folha rotulado como
    yt
  • Se Dt é um conjunto vazio, então t é um nodo
    folha rotulado com a classe default, yd
  • Se Dt 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.

Dt
?
18
Hunts Algorithm
Dont Cheat
19
Indução da árvore
  • Estratégia gulosa.
  • Divida os registros baseado no atributo teste que
    otimiza um certo critério.
  • 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?
  • Depende do tipo dos atributos
  • Nominal (categórico,...)
  • Ordinal
  • Contínuo
  • Depende do tipo de divisão
  • divisão binária
  • divisão em múltiplos caminhos

21
Divisão baseada em atributos nominais
  • Divisão múltipla Use tantas partições quantos
    forem os valores distintos do atributo.
  • Divisão binária Divide em dois subconjuntos.
    Necessidade de encontrar o particionamento
    ótimo.

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

OU
23
Divisão baseada em atributos contínuos
  • 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 lt 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
  • Estratégia gulosa.
  • Divida os registros baseado no atributo teste que
    otimiza um certo critério.
  • 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
  • Estratégia gulosa
  • Nós com distribuição de classe homogenea são
    preferidos
  • 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ó
  • Índice de Gini
  • Entropia
  • Erro de classificação

29
Como encontrar a melhor divisão?
Antes da divisão
A?
B?
Sim
Não
Sim
Não
Nodo N1
Nodo N2
Nodo N3
Nodo N4
Ganho M0 M12 vs M0 M34
30
Medida da impureza GINI
  • Índice Gini para um nó t
  • (Nota p( j t) é a freqüência relativa da
    classe j no nó t).
  • Máximo (1 - 1/nc) 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 0.278
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
  • Usado nos métodos CART, SLIQ, SPRINT.
  • Quando um nó p é dividido em k partições
    (filhos), a qualidade da divisão é calculada
    como,
  • onde, ni número de registros no filho i,
  • n número de registros no nó p.

33
Índice Gini para atributos categóricos
Multi-way split
Binary split (find best partition of values)
34
Atributos contínuos cálculo do índice Gini
  • Usar decisão binária baseada em um valor
  • Várias possibilidades para a escolha do valor de
    corte
  • Número de possíveis cortes número de valores
    distintos
  • Cada valor de corte tem uma matriz associada
  • Contadores de classe para cada partição possível,
    A lt v and A ? v
  • 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
  • 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

36
Divisão baseada em entropia
  • 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 nc) 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) log2 (1/6) (5/6) log2 (1/6) 0.65
P(C1) 2/6 P(C2) 4/6 Entropia
(2/6) log2 (2/6) (4/6) log2 (4/6) 0.92
38
Divisão baseada em entropia ...
  • Ganho de Informação (Information Gain)
  • O nó pai p é dividido em k partições
  • ni é 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...
  • Razão de ganho (Gain Ratio)
  • O nó pai p é dividido em k partições
  • ni é 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 log2 p p- log2 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 log2 (9/14) - 5/14 log 2
    (5/14) 0,940

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

45
C1,C2,...C14 9, 5-
montante
médio
baixo
alto
C1,C2,C8,C9,C11 2, 3-
C3,C7,C12,C13 4, 0-
C4,C5,C6,C10,C14 3, 2-
?
salário
sim
baixo
alto
C1,C2,C8 0, 3-
C9,C11 2, 0-
46
Resultado
47
Divisão baseada em erro de classificação
  • Erro de classificação no nó t
  • Mede o erro de classificação em um nó.
  • Máximo (1 - 1/nc) 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
  • Estratégia gulosa.
  • Divida os registros baseado no atributo teste que
    otimiza um certo critério.
  • 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
  • Pare de expandir um nó quando todos os registros
    pertencem à mesma classe
  • Pare de expandir um nó quando todos os registros
    tiverem os mesmos valores de atributo

52
Classificação baseada em árvores de decisão
  • 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
  • Algoritmo simples, em profundidade.
  • Usa o Ganho de Informação (Information Gain)
  • Classifica atributos contínuos em cada nó.
  • Exige que todos os dados caibam em memória.
  • Não indicado para grandes conjuntos de dados.
  • Necessita classificação em disco.
  • O Software pode ser baixado do sitehttp//www.cs
    e.unsw.edu.au/quinlan/c4.5r8.tar.gz

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

55
Sub e super-especialização (Exemplo)
500 pontos circulares e 500 pontos triangulares
data. Pontos circulares 0.5 ? sqrt(x12x22) ?
1 Pontos triangulares sqrt(x12x22) gt 0.5
or sqrt(x12x22) lt 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
Write a Comment
User Comments (0)
About PowerShow.com