Classificação: Definição. Classificação: conceitos básicos e árvores de decisão. Exemplos de Tarefas de Classificação



Documentos relacionados
Classificação - avaliação de resultados - 1. Mineração de Dados 2013

Algoritmos Indutores de Árvores de

Avaliando o que foi Aprendido

Créditos. SCC0173 Mineração de Dados Biológicos. Aula de Hoje. Introdução. Classificação III: Árvores de Decisão

Paralelização do algoritmo SPRINT usando MyGrid

TÓPICOS AVANÇADOS EM ENGENHARIA DE SOFTWARE

Universidade Tecnológica Federal do Paraná UTFPR Programa de Pós-Graduação em Computação Aplicada Disciplina de Mineração de Dados

Arquitetura de Computadores. Sistemas Operacionais IV

Sistemas de Apoio à Decisão Árvores de decisão V 1.2, V.Lobo, EN/ISEGI, 2010

O Processo de KDD. Data Mining SUMÁRIO - AULA1. O processo de KDD. Interpretação e Avaliação. Seleção e Pré-processamento. Consolidação de dados

Extração de Árvores de Decisão com a Ferramenta de Data Mining Weka

MINERAÇÃO DE DADOS APLICADA. Pedro Henrique Bragioni Las Casas

Pré processamento de dados II. Mineração de Dados 2012

Mineração de Dados - Introdução. Elaine Ribeiro de Faria UFU 2018

Descoberta de Conhecimento em Bases de Dados. Classificação

Índice. Classificação Supervisionada e Árvores de Decisão. Problema de Classificação. Problema de Classificação 14/06/2017

Prof. Júlio Cesar Nievola PPGIa PUCPR APRENDIZAGEM DE MÁQUINA - I

Agrupamento de dados

Aprendizado de Máquina (Machine Learning)

17/10/2012. dados? Processo. Doutorado em Engenharia de Produção Michel J. Anzanello. Doutorado EP - 2. Doutorado EP - 3.

Sumário. 5COP096 Teoria da Computação Aula 8 Pesquisa em Memória Primária

Projeto de Redes Neurais e MATLAB

Organização de Arquivos

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Árvores de Decisão. Índice

Exemplo de Aplicação do DataMinig

UTILIZANDO O SOFTWARE WEKA

Pesquisa Sequencial e Binária. Introdução à Programação SI2

Árvores Binárias Balanceadas

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa

A Preparação dos Dados

Árvore de Decisão. George Darmiton da Cunha Cavalcanti Tsang Ing Ren CIn/UFPE

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

Módulo 4. Construindo uma solução OLAP

ALGORITMOS DE ORDENAÇÃO. Algoritmos de comparação-e-troca. Bubble Sort Merge Sort Quick Sort

Busca. Pesquisa sequencial

I.3 Indução de Árvores de Decisão

Sistema de Arquivos EXT3

Aula 03 Limite assintótico para a ordenação, Ordenação em tempo linear

Após essa disciplina você vai ficar convencido que a estatística tem enorme aplicação em diversas áreas.

Sistemas Operacionais

Aprendizagem de Máquina. Ivan Medeiros Monteiro

Análise de técnicas de selecção de atributos em Bioinformática

Árvores de Decisão. Sarajane M. Peres. março de 2015

Exemplos de aplicação. Mineração de Dados 2013

Parte I - Introdução. Agenda. Mineração de Dados com a Ferramenta Weka. Mineração de Dados: Por quê? O que é Mineração? Mineração de Dados: Por quê?

Aprendizagem de Máquina

Curso de Data Mining

MLP (Multi Layer Perceptron)

Classificação da imagem (ou reconhecimento de padrões): objectivos Métodos de reconhecimento de padrões

Os juros podem ser capitalizados segundo dois regimes: simples ou compostos.

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Aprendizagem de Máquina

Prof. Daniela Barreiro Claro

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

Laboratório de Mídias Sociais

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Web Data mining com R: aprendizagem de máquina

FACULDADE DE IMPERATRIZ - FACIMP BACHARELADO EM SISTEMAS DE INFORMAÇÃO ESTRUTURA DE DADOS 2. Vieira Lima Junior. Everson Santos Araujo

AVALIAÇÃO À DISTÂNCIA 1 GABARITO

Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos

Unidade 5 Armazenamento e Indexação

Clustering - agrupamento. Baseado no capítulo 8 de. Introduction to Data Mining

Pesquisa Sequencial e Binária

Aurora Trinidad Ramirez Pozo Universidade Federal do Paraná

Complexidade de Algoritmos. Edson Prestes

ESTUDO DE VIABILIDADE. Santander, Victor - Unioeste Aula de Luiz Eduardo Guarino de Vasconcelos

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Aprendizagem de Máquina

Unidade Curricular Matemática Aplicada Prof. Angelo Gonçalves da Luz Teoria dos Conjuntos

6. Programação Inteira

Deadlocks. Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

LUCAS DA SILVA, LUCAS TUCHTENHAGEN, LUCAS NUNES HIREN S BOOT CD

Aprendizagem de Máquina

Roteamento em Redes de Computadores

Redes de Computadores II

Geração de código intermediário. Novembro 2006

Universidade Federal do Paraná (UFPR) Bacharelado em Informática Biomédica. Árvores de Decisão. David Menotti.

ADM041 / EPR806 Sistemas de Informação

Nathalie Portugal Vargas

QUALITATIVA VARIÁVEL QUANTITATIVA

Lista de Exercícios Tratamento de Incerteza baseado em Probabilidade

Aprendizado de Máquina

Hashing Letícia Rodrigues Bueno

Lição 1 Introdução à programação de computadores

SCC0173 Mineração de Dados Biológicos

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

KDD. Fases limpeza etc. Datamining OBJETIVOS PRIMÁRIOS. Conceitos o que é?

Matemática Financeira

SISTEMAS INTELIGENTES

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Mineração de Opinião / Análise de Sentimentos

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Gerenciamento de Memória

Admistração de Redes de Computadores (ARC)

Fabio Bento

EXERCÍCIOS EXERCÍCIOS. Definições Básicas. Definições Básicas. Definições Básicas. Introdução à Estatística. Dados: valores de variáveis observadas.

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Árvore Binária de Busca

Transcrição:

Classificação: Definição 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 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. Ilustrando a Tarefa de Classificação Exemplos de Tarefas de Classificação Tid Attrib1 Attrib2 Attrib3 Class 1 Large 125K 2 Medium 0K 3 Small 70K 4 Medium 120K 5 Large 95K 6 Medium 60K 7 Large 220K 8 Small 85K 9 Medium 75K Small 90K Tid Attrib1 Attrib2 Attrib3 Class 11 Small 55K? 12 Medium 80K? 13 Large 1K? 14 Small 95K? 15 Large 67K? Learn Model Apply Model 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.

Técnicas de Classificação Exemplo de uma árvore de decisã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) Tid Marital 1 Single 125K 2 0K 3 Single 70K 4 120K 5 Divorced 95K 6 60K 7 Divorced 220K 8 Single 85K 9 75K Single 90K Atributo teste Single, Divorced YES Dados de treinamento Modelo: árvore de decisão Outro exemplo de árvore de decisão Classificação usando árvores de decisão Tid Attrib1 Attrib2 Attrib3 Class Tid Marital 1 Single 125K 2 0K 3 Single 70K 4 120K Single, Divorced 1 Large 125K 2 Medium 0K 3 Small 70K 4 Medium 120K 5 Large 95K 6 Medium 60K 7 Large 220K 8 Small 85K 9 Medium 75K Small 90K Learn Model 5 Divorced 95K 6 60K 7 Divorced 220K 8 Single 85K 9 75K Single 90K YES Pode haver mais de um árvore para o mesmo conjunto de dados Tid Attrib1 Attrib2 Attrib3 Class 11 Small 55K? 12 Medium 80K? 13 Large 1K? 14 Small 95K? 15 Large 67K? Apply Model Decision Tree

Aplicando o modelo nos dados de teste Aplicando o modelo nos dados de teste Comece pela raíz da árvore. Dado para teste Marital Dado para teste Marital 80K? 80K? Single, Divorced Single, Divorced YES YES Aplicando o modelo nos dados de teste Aplicando o modelo nos dados de teste Dado para teste Dado para teste Marital Marital 80K? 80K? Single, Divorced Single, Divorced YES YES

Aplicando o modelo nos dados de teste Aplicando o modelo nos dados de teste Dado para teste Dado para teste Marital Marital 80K? 80K? Single, Divorced Single, Divorced Assign to YES YES Classificação com árvore de decisão Indução de árvores de decisão Tid Attrib1 Attrib2 Attrib3 Class 1 Large 125K 2 Medium 0K 3 Small 70K 4 Medium 120K 5 Large 95K 6 Medium 60K 7 Large 220K 8 Small 85K 9 Medium 75K Small 90K Learn Model Vários algoritmos: Hunt s Algorithm (um dos primeiros) CART ID3, C4.5 SLIQ,SPRINT Tid Attrib1 Attrib2 Attrib3 Class 11 Small 55K? 12 Medium 80K? 13 Large 1K? 14 Small 95K? 15 Large 67K? Apply Model Decision Tree

Estrutura geral do algorítmo de Hunt Seja D t o conjunto de registros de teste que alcança o nodo t 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. Tid Marital 1 Single 125K 2 0K 3 Single 70K 4 120K 5 Divorced 95K 6 60K 7 Divorced 220K 8 Single 85K 9 75K Single 90K? D t Hunt s Algorithm Single, Divorced Marital Single, Divorced Marital < 80K >= 80K Tid Marital 1 Single 125K 2 0K 3 Single 70K 4 120K 5 Divorced 95K 6 60K 7 Divorced 220K 8 Single 85K 9 75K Single 90K 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 Como especificar qual o atributo teste? Depende do tipo dos atributos minal (categórico,...) Ordinal Contínuo Depende do tipo de divisão divisão binária divisão em múltiplos caminhos

Divisão baseada em atributos nominais Divisão múltipla: Use tantas partições quantos forem os valores distintos do atributo. Divisão baseada em atributos ordinais Divisão múltipla : Use tantas partições quantos forem os valores distintos do atributo Family CarType Sports Luxury Divisão binária: Divide em dois subconjuntos. Necessidade de encontrar o particionamento ótimo. {Sports, Luxury} CarType {Family} OU {Family, Luxury} CarType {Sports} Small Size Medium Large Divisão binária: Divide em dois subconjuntos. {Small, Medium} E esta divisão? Necessidade de encontrar o particionamento ótimo. Size {Large} OU {Small, Large} {Medium, Large} Size Size {Medium} {Small} Divisão baseada em atributos contínuos 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 < v) or (A v) considera todas as divisões possíveis e usa a melhor

Indução de árvores Como determinar a melhor divisão Estratégia gulosa. Divida os registros baseado no atributo teste que otimiza um certo critério. Antes da divisão: registros da classe 0, registros da classe 1 Questões Determine como dividir os registros Como especificar qual o atributo teste? Como determinar a melhor divisão? Determine quando parar de dividir Qual divisão é a melhor? Como determinar a melhor divisão Medidas de impureza de um nó Estratégia gulosa : Nós com distribuição de classe homogenea são preferidos Necessita da medida da impureza do nó: Índice de Gini Entropia Erro de classificação Não-homogênea, Alto grau de impureza Homogêneo, baixo grau de impureza

Como encontrar a melhor divisão? Sim do N1 C0 C1 N N11 Antes da divisão: C0 N00 C1 N01 A? Não do N2 C0 C1 N20 N21 Sim do N3 C0 C1 M0 N30 N31 B? Não do N4 M1 M2 M3 M4 C0 C1 N40 N41 Medida da impureza: GINI Índice Gini para um nó t : GI I ( t) = 1 (ta: p( j t) é a freqüência relativa da classe j no nó t). j [ p( j 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) 2 M12 Ganho = M0 M12 vs M0 M34 M34 C1 0 C2 6 Gini=0.000 C1 1 C2 5 Gini=0.278 C1 2 C2 4 Gini=0.444 C1 3 C2 3 Gini=0.500 Exemplos do cálculo do índice GINI Divisão baseda no índice GINI C1 0 C2 6 C1 1 C2 5 C1 2 C2 4 GI I( t) = 1 j [ p( j t)] 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 2 Usado nos métodos CART, SLIQ, SPRINT. Quando um nó p é dividido em k partições (filhos), a qualidade da divisão é calculada como, GI I split = k i = 1 ni GI I ( i) n onde, n i = número de registros no filho i, n = número de registros no nó p.

Índice Gini para atributos categóricos Atributos contínuos: cálculo do índice Gini Multi-way split CarType Family Sports Luxury C1 1 2 1 C2 4 1 1 Gini 0.393 Binary split (find best partition of values) CarType {Sports, Luxury} {Family} C1 3 1 C2 2 4 Gini 0.400 CarType {Sports} {Family, Luxury} C1 2 2 C2 1 5 Gini 0.419 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 < 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. Tid Marital 1 Single 125K 2 0K 3 Single 70K 4 120K 5 Divorced 95K 6 60K 7 Divorced 220K 8 Single 85K 9 75K Single 90K Atributos contínuos: cálculo do índice Gini Divisão baseada em entropia 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 Sorted Values Split Positions 60 70 75 85 90 95 0 120 125 220 55 65 72 80 87 92 97 1 122 172 230 <= > <= > <= > <= > <= > <= > <= > <= > <= > <= > <= > 0 3 0 3 0 3 0 3 1 2 2 1 3 0 3 0 3 0 3 0 3 0 0 7 1 6 2 5 3 4 3 4 3 4 3 4 4 3 5 2 6 1 7 0 Gini 0.420 0.400 0.375 0.343 0.417 0.400 0.300 0.343 0.375 0.400 0.420 Entropia em um nó t: Entropy ( t) = p( j t)log p( j t) j (ta: 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

Exemplos de cálculo da entropia C1 0 C2 6 C1 1 C2 5 C1 2 C2 4 Entropy t) = p( j t)log p( j t) j ( 2 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 Divisão baseada em entropia... Ganho de Informação (Information Gain): k ni GAI = Entropy( p) Entropy( i) split i= 1 n 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. Splitting Based on INFO... Exemplo: Razão de ganho (Gain Ratio): GainRATIO GAI Split k = split i= SplitI FO O nó pai p é dividido em k partições; n i é o número de registros na partição i ni SplitI FO = log 1 n 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 ni n caso montante idade salário conta empréstimo 1 médio sênior baixo sim não 2 médio sênior baixo não não 3 baixo sênior baixo sim sim 4 alto média baixo sim sim 5 alto jovem alto sim sim 6 alto jovem alto não não 7 baixo jovem alto não sim 8 médio média baixo sim não 9 médio jovem alto sim sim alto média alto sim sim 11 médio média alto não sim 12 baixo jovem baixo não sim 13 baixo sênior alto sim sim 14 alto média baixo não não

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 - ) do raiz Selecionando o melhor atributo: Entropia(S) = - 9/14 log 2 (9/14) - 5/14 log 2 (5/14) = 0,940 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 caso montante idade salário conta empréstimo 1 médio sênior baixo sim não 2 médio sênior baixo não não 3 baixo sênior baixo sim sim 4 alto média baixo sim sim 5 alto jovem alto sim sim 6 alto jovem alto não não 7 baixo jovem alto não sim 8 médio média baixo sim não 9 médio jovem alto sim sim alto média alto sim sim 11 médio média alto não sim 12 baixo jovem baixo não sim 13 baixo sênior alto sim sim 14 alto média baixo não não 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 Escolha do próximo atributo Escolha o próximo atributo Qual é o melhor atributo? {C1,C2,...C14} [9+, 5-] montante médio baixo alto 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 {C1,C2,C8,C9,C11} [2+, 3-] {C3,C7,C12,C13} [4+, 0-]? sim {C4,C5,C6,C,C14} [3+, 2-]? Qual atributo pode ser testado aqui?

Resultado {C1,C2,...C14} [9+, 5-] montante médio baixo alto montante médio baixo alto {C1,C2,C8,C9,C11} [2+, 3-] salário {C3,C7,C12,C13} [4+, 0-] sim {C4,C5,C6,C,C14} [3+, 2-]? salário E=sim conta baixo {C1,C2,C8} [0+, 3-] alto {C9,C11} [2+, 0-] baixo alto não sim E=não E=sim E=não E=sim Divisão baseada em erro de classificação Erro de classificação no nó t : Error( t) = 1 max P( i t) 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) i Exemplos de cálculo de erro de classificação C1 0 C2 6 C1 1 C2 5 C1 2 C2 4 Error( t) = 1 max P( i t) 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 i 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

Comparação entre os critérios de divisão Indução de árvores Para problemas com duas classes: 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 Critérios de parada para a indução de árvores Classificação baseada em árvores de decisão 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 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

Exemplo: C4.5 Questões práticas de classificação 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. Sub e super-especialização (Underfitting and Overfitting) Valores faltantes Custo da classificação O Software pode ser baixado do site: http://www.cse.unsw.edu.au/~quinlan/c4.5r8.tar.gz Sub e super-especialização (Exemplo) Sub e super-especialização Overfitting 500 pontos circulares e 500 pontos triangulares data. Pontos circulares: 0.5 sqrt(x 12 +x 22 ) 1 Pontos triangulares: sqrt(x 12 +x 22 ) > 0.5 or sqrt(x 12 +x 22 ) < 1 Sub-especialização: quando o modelo é simples demais, os erros com os dados de treinamento e de teste são grandes

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