310 likes | 522 Views
INE 5644 – Mineração de Dados Aula 5 – Classificação (Parte 2). Professor: José Leomar Todesco. Algoritmo C 4.5. Algoritmo C 4.5. O C 4.5 é uma extensão do ID3 : Constrói árvores de decisão, com valores desconhecidos para alguns atributos .
E N D
INE 5644 – Mineração de DadosAula 5 – Classificação (Parte 2) Professor: José Leomar Todesco
Algoritmo C 4.5 O C 4.5é uma extensão do ID3: • Constrói árvores de decisão, com valores desconhecidos para alguns atributos. • Trabalha com atributos que apresentam valores contínuos. • Utiliza o conceito de poda (pruning)de árvores.
Algoritmo C 4.5 Quando existematributosdesconhecidos para alguma variável, os mesmos são considerados como uma nova categoria. Quando existem variáveis comatributoscontínuos, o algoritmo cria intervalos segundo as alterações na variável de decisão.
Algoritmo C 4.5 64.5 66.5 70.5 72.5 77.5 80.5 84
Algoritmo C 4.5 Exemplo: Info(71.5) = Info([4,2], [5,3]) = 6/14 . I(4/6, 2/6) + 8/14 . I(5/8, 3/8) = 0.939
Algoritmo C 4.5 Poda da árvore, significa substituir uma parte da árvore(sub-árvore) por uma folha, com o objetivo de simplificar as regras de decisão. A poda tem lugar quando o valor esperado do erro da sub-árvore é maior que o erro da folha que fica em seu lugar.
Algoritmo C 4.5 : Pruning Erro Esperado (Nó) = ( N - n + k -1 ) /( N + k ) onde : N = Número de exemplos do nó k = Número de classes n = Número de exemplos de N pertencentes a classe C ( classe com o maior número de elementos ) Erro (Sub-arvore) = Si (Pi* Erro (Nó i ))
Algoritmo C 4.5 : Pruning A[6,4] B[4,2] C[2,2] [3,2] [1,0] [1,0] D[1,2] [1,1] [0,1]
Algoritmo C 4.5 : Pruning Erro Esperado (Nó) = ( N - n + k -1 ) /( N + k ) onde : N = Número de exemplos do nó k = Número de classes n = Número de exemplos de N pertencentes a classe C ( classe com o maior número de elementos ) Erro (Sub-arvore) = Si (Pi* Erro (Nó i )) Erro (B) = (6 - 4 + 2 -1) / ( 6 + 2 ) = 0.375 Erro (Filho 1) = (5 - 3 + 2 -1) / ( 5 + 2 ) = 0.429 Erro (Filho 2) = (1 - 1 + 2 -1) / ( 1 + 2 ) = 0.333 Erro (SubArv) = 5/6 * 0.429 + 1/6 * 0.333 =0.413 Erro ( B ) < Erro (SubArv) entãoPruning
Algoritmo C 4.5 : Pruning A[6,4] Sim C[2,2] [1,0] D[1,2] [1,1] [0,1]
Algoritmo C 4.5 : Pruning Erro Esperado (Nó) = ( N - n + k -1 ) /( N + k ) onde : N = Número de exemplos do nó k = Número de classes n = Número de exemplos de N pertencentes a classe C ( classe com o maior número de elementos ) Erro (Sub-arvore) = Si (Pi* Erro (Nó i )) Erro (D) = (3 - 2 + 2 -1) / ( 3 + 2 ) = 0.4 Erro (Filho 1) = (2 - 1 + 2 -1) / ( 2 + 2 ) = 0.5 Erro (Filho 2) = (1 - 1 + 2 -1) / ( 1 + 2 ) = 0.33 Erro (SubArv) = 2/3 * 0.5 + 1/3 * 0.33 = 0.444 Erro ( D ) < Erro (SubArv) então Pruning
Algoritmo C 4.5 : Pruning A[6,4] Sim C[2,2] [1,0] Não
Algoritmo C 4.5 : Pruning Erro Esperado (Nó) = ( N - n + k -1 ) /( N + k ) onde : N = Número de exemplos do nó k = Número de classes n = Número de exemplos de N pertencentes a classe C ( classe com o maior número de elementos ) Erro (Sub-arvore) = Si (Pi* Erro (Nó i )) Erro (C) = (4 - 2 + 2 -1) / ( 4 + 2 ) = 0.5 Erro (Filho 1) = Erro ( D ) = 0.4 Erro (Filho 2) = (1 - 1 + 2 -1) / ( 1 + 2 ) = 0.33 Erro (SubArv) = 3/4 * 0.4 + 1/4 * 0.33 = 0.3825 Erro (C) > Erro(SubArv) Então Não Pruning
Algoritmo C 4.5 : Pruning A[6,4] B[4,2] C[2,2] Sim Sim Não
Avaliação das Regras Descobertas Como medir a taxa de acerto de regras na tarefa de classificação ? Taxa de Acerto: Taxa de acerto é igual a: Número de instâncias dos dados de teste classificadas corretamente dividido pelo número de instâncias dos dados de teste. Taxa de Acerto = Acertos / Total
Avaliação das Regras Descobertas A avaliação de um modelo é realizada sobre o conjunto de exemplos, também chamados de conjuntos de testes. • Cross-validation: o conjunto de dados é particionado em N subconjuntos sendo que as fases de teste são realizadas N vezes. Em cada interação, um desses subconjuntos é selecionado para ser o conjunto de teste, enquanto os demais compõem o conjunto de treinamento.
Avaliação das Regras Descobertas Início Para i = 1 .. N Executar o algoritmo de MD usando N-1 subconjuntos de dados; Computar a taxa de acerto, das regras obtidas, sobre os dados do subconjunto i não utilizado no passo anterior; Fim Para; Taxa de acerto = média das taxas de acerto nas N iterações anteriores; Fim.
Avaliação das Regras Descobertas Na classificação que abrange classes de valores discretos, as estimativas de qualidade podem ser determinadas por meio de uma matriz confusão obtida a partir dos resultados da classificação. A matriz confusão envolve os valores reais dos exemplos e os valores preditos pelo modelo.
Avaliação das Regras Descobertas Por exemplo, em um modelo de classificação bi-valorada: Tprepresenta a quantidade de exemplos da classe positiva que foram classificados como positivos (positivo verdadeiro); Fp representa a quantidade de exemplos da classe negativa que foram classificados como positivos (falso positivo); Fn representa a quantidade de exemplos da classe positiva que foram classificados como negativos (falso negativo); Tn representa a quantidade de exemplos da classe negativa que foram classificados como negativos (negativo verdadeiro).
Avaliação das Regras Descobertas Predito positivo Predito Negativo Exemplos positivos Fn Tp Exemplos negativos Fp Tn
Avaliação das Regras Descobertas A partir da matriz confusão, pode-se obter vários resultados para medir a qualidade da classificação. Esses resultados são obtidos das seguintes medidas de avaliação: Precision, Recall, Accuracy e F-measure.
Avaliação das Regras Descobertas Precision: a precisão de um modelo é a proporção de exemplos positivos que foram corretamente classificados. Em um problema de classe bi-valorada, a precisão pode ser calculada como: Precision = tp/(tp + fp)
Avaliação das Regras Descobertas Recall: também conhecida como cobertura, é definida como a proporção classificada corretamente como exemplos positivos. Para casos bi-valorados, a estimativa dessa medida é calculada como: Recall = tp/(tp + fn) Accuracy: essa medida denota a proporção de predições corretas, sendo calculada como: Accuracy = (tp + tn)/(tp + fp + tn + fn)
Avaliação das Regras Descobertas F-measure: essa medida , também conhecida por medida F, combina Precision e Recall, inserindo um parâmetro B para indicar a importância relativa. Esse parâmetro pode assumir valores entre 0 e infinito, sendo que o valor é determinado pelo usuário.
Avaliação das Regras Descobertas Caso B assuma o valor 0, então a medida Fapresentará somente o valor da medida Precision. Caso B assuma o valor infinito, então Fapresentará o valor deRecall. O valor de B geralmente é usado da seguinte forma: 0.5, representando que o valor de Precision é mais relevante que o valor de Recall; 1.0, representando a mesma relevância para ambos; ou 2.0, representando que o valor de Recall é mais relevante que o valor de Precision.
Avaliação das Regras Descobertas A medida F pode ser calculada usando : F-measure(M, ci) = ((1+B2) . Precision(M, ci) . Recall(M, ci))/ (B2.Precision(M, ci)+Recall(M, ci)) Onde: M: conjunto classificado; ci: classe pré-definida B: parâmetro indicador da relevância Então: F-measure(M, ci) = ((1 + B2).tp)/(1 + B2.tp + fp + B2.fn)
Exercício Para a série disponibilizada e utilizada com algoritmo ID3, usando o Weka use o algoritmo J48 e apresente a árvore de decisão.