Aprendizado de Máquina (Machine Learning)

Documentos relacionados
Aprendizado de Máquina

Classificação: Árvores de Decisão e k-nn. Eduardo Raul Hruschka

Inteligência Artificial

WEKA: Prática Carregando a base de dados no Weka

Utilização do Corte Percentual na categorização de documentos da Web com o algoritmo Naive Bayes

Árvore de Decisão. Capítulo 18 Russell & Norvig Seções 18.1 a 18.3

INF 1771 Inteligência Artificial

Inteligência Artificial

Classificação e Predição de Dados - Profits Consulting - Consultoria Empresarial - Serviços SAP- CRM Si

Reconhecimento de Padrões

Modelagem da Rede Neural. Modelagem da Rede Neural. Back Propagation. Modelagem da Rede Neural. Modelagem da Rede Neural. Seleção de Variáveis:

Aprendizado de Máquina (Machine Learning)

DCBD. Avaliação de modelos. Métricas para avaliação de desempenho. Avaliação de modelos. Métricas para avaliação de desempenho...

Aprendizado Bayesiano

Aprendizado Bayesiano Anteriormente...

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Aprendizagem de Máquina

MAC 0425/ Inteligência Artificial

Mineração de Dados para Detecção de Padrões de Mudança de Cobertura da Terra. Padrões e processos em Dinâmica de uso e Cobertura da Terra

Análise de Risco de Crédito Bancário

Aprendizado de Máquinas

Classificação de Padrões. Abordagem prática com Redes Neurais Artificiais

Fundamentos de Inteligência Artificial [5COP099]

INF 1771 Inteligência Artificial

Agregação de Algoritmos de Aprendizado de Máquina (AM) Professor: Eduardo R. Hruschka Estagiário PAE: Luiz F. S. Coletta

INF 1771 Inteligência Artificial

Aprendizagem de Máquina

Aprendizado por Árvores de Decisão

Redes Neurais e Sistemas Fuzzy

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Introdução a Sistemas Inteligentes

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Classificação Linear. André Tavares da Silva.

Métodos Não Paramétricos

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING Asterio K. Tanaka

18º Congresso de Iniciação Científica INCORPORAÇÃO DA TAREFA DE CLASSIFICAÇÃO NA FERRAMENTA DE MINERAÇÃO DE DADOS KIRA

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

PARTE 1- INTRODUÇÃO VERSÃO: JANEIRO DE 2017

Aprendizado de Máquina

Aprendizado de Máquina (Machine Learning)

Complexidade de Algoritmos

2 Sentiment Analysis 2.1

Aprendizagem de Máquina

Métodos de Classificação por Árvores de Decisão Disciplina de Projeto e Análise de Algoritmos

5COP096 TeoriadaComputação

Busca Binária. Aula 05. Busca em um vetor ordenado. Análise do Busca Binária. Equações com Recorrência

Combinação de Classificadores (fusão)

Máquinas de suporte vetorial e sua aplicação na detecção de spam

Aprendizado de Máquina Simbólico para Mineração de Dados

Rede RBF (Radial Basis Function)

Folha Prática - Representação de Números e Erros. 1. Representar os seguintes números decimais em binário com ponto fixo:

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

USO DE TÉCNICAS DE SEGMENTAÇÃO NA ANÁLISE DE IMAGENS DE TOMOGRAFIA COMPUTADORIZADA DE PULMÕES COM DPOC

1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35.

AVALIAÇÃO DE MÉTODOS DE SELEÇÃO DE ATRIBUTOS PARA CLASSIFICAÇÃO DE SOLOS

TIPOS DE AMOSTRAGEM Amostragem Probabilística e Não-Probabilística. Amostragem PROBABILÍSTICA: Amostragem Aleatória Simples: VANTAGENS:

REDES NEURAIS / INTELIGÊNCIA ARTIFICIAL LISTA DE EXERCÍCIOS 6

Inteligência Artificial

Análise Multivariada Aplicada à Contabilidade

4 Construção dos Classificadores

Tutorial básico de classificação em RapidMiner

Professora conteudista: Maria Ester Domingues de Oliveira. Revisor: Francisco Roberto Crisóstomo

ANÁLISE ESPACIAL DOS ÍNDICES EDUCACIONAIS DO RIO GRANDE DO NORTE COM O USO DE TÉCNICAS DE MINERAÇÃO DE DADOS

Inteligência Artificial

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 21 Projeto de RNA

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

CLASSIFICADORES ELEMENTARES -II

FERRAMENTAS ESTATÍSTICAS PARA ANÁLISE DA CLASSIFICAÇÃO

Busca em Memória Primária Estrutura de Dados II

Intervalos Estatísticos para uma única Amostra - parte I

x exp( t 2 )dt f(x) =

Estruturas de Dados 2

ORGANIZAÇÃO E TRATAMENTO DE DADOS

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano


INE5408 Estruturas de Dados

Transcrição:

Ciência da Computação Aprendizado de Máquina (Machine Learning) Aula 09 Árvores de Decisão Max Pereira

Classificação É a tarefa de organizar objetos em uma entre diversas categorias pré-definidas. Exemplos incluem a detecção de mensagens de spam em e-mails, categorização de células como malignas ou benignas, classificação de galáxias, etc.

Classificação Entrada Conjunto de atributos (x) Modelo de Classificação Saída Rótulo da classe (y) Os dados de entrada, também conhecidos como instâncias ou exemplos, durante o processo de aprendizado/treinamento, são caracterizados por um dupla (x, y), onde x é o conjunto de atributos e y o atributo especial, designado como rótulo da classe (atributo alvo).

O rótulo da classe (atributo alvo) deve ser um atributo discreto. Esta é a característica chave que distingue a classificação da regressão, uma tarefa de modelagem preditiva na qual y é um atributo contínuo.

Modelo de Classificação Um modelo de classificação é útil para os seguintes propósitos: Modelagem Descritiva Modelagem Preditiva

Modelo de Classificação Preditiva Uma técnica de classificação é uma abordagem sistemática para construção de modelos de classificação a partir de um conjunto de dados de entrada. Classificadores de árvores de decisão, classificadores baseados em regras, redes neurais, máquinas de vetor de suporte e classificadores bayesianos. Cada técnica emprega um algoritmo de aprendizagem.

Modelo de Classificação Preditiva O objetivo chave de um algoritmo de aprendizagem é construir modelos com boa capacidade de generalização. Modelos que prevejam com precisão os rótulos de classes de exemplos não conhecidos previamente.

Conjunto de Treinamento Atrib1 Atrib2 Atrib3 Classe Sim Grande 125K Não Não Médio 100K Não Não Pequeno 70K Não indução Algoritmo de Aprendizagem Sim Médio 120K Não Não Grande 95K Sim Não Médio 60K Não Não Pequeno 85K Sim Não Pequeno 90K Sim Aprender Modelo Modelo Conjunto de Teste Atrib1 Atrib2 Atrib3 Classe Não Pequeno 55K? Sim Médio 80K? Sim Grande 110K? Não Pequeno 95K? dedução Aplicar Modelo

Os erros cometidos por um modelo de classificação são geralmente divididos em dois tipos: erros de treinamento e erros de generalização. Um bom modelo deve não apenas se adaptar bem aos dados de treinamento, como também deve classificar com precisão os exemplos que nunca havia visto antes.

A avaliação do desempenho de um modelo de classificação é baseada nas contagens de exemplos de testes previstos correta e incorretamente pelo modelo. Estas contagens são tabuladas em uma tabela conhecida como matriz de confusão

Matriz de confusão

Construção de uma Árvore de Decisão Cada nodo folha recebe um rótulo de classe. Os nodos não terminais, que incluem o nodo raiz e outros nodos internos, contém condições de testes de atributos. Aprendizado de Máquina

Construção de uma Árvore de Decisão A princípio, há exponencialmente muitas árvores de decisão que podem ser construídas a partir de um determinado conjunto de atributos. Embora algumas árvores sejam mais precisas que outras, encontrar a árvore ótima é computacionalmente inviável. Apesar disso, algoritmos eficientes têm sido desenvolvidos para induzir uma árvore de decisão razoavelmente precisa. Aprendizado de Máquina

Construção de uma Árvore de Decisão Algoritmo de Hunt, que é a base de muitos algoritmos de indução de árvores de decisão existentes, incluindo ID3, C4.5 e CART. A árvore cresce de forma recursiva pelo particionamento dos exemplos em sucessivos subconjuntos mais puros. Aprendizado de Máquina

Construção de uma Árvore de Decisão Suponha que D t seja um conjunto de exemplos que estão associados ao nodo t e y = {y 1,y 2,...,y n } sejam os rótulos das classes. Passo 1. Se todos os exemplos em D t pertencerem à mesma classe y t, então t é um nodo folha rotulado como y t. Passo 2. Se D t contiver exemplos que pertençam a mais de uma classe uma condição de teste de atributo é selecionada para particionar os exemplos em subconjuntos menores. Aprendizado de Máquina

Construção de uma Árvore de Decisão Passo 3. Um nodo filho é criado para cada resultado da condição de teste e os exemplos de D t são distribuídos para os filhos baseados nos resultados. O algoritmo é então aplicado recursivamente a cada nodo filho. Aprendizado de Máquina

Construção de uma Árvore de Decisão Id Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não 4 Sim Casado 120K Não 5 Não Divorciado 95K Sim 6 Não Casado 60K Não 7 Sim Divorciado 220K Não 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim Aprendizado de Máquina

Construção de uma Árvore de Decisão Métricas para selecionar a melhor divisão Essas métricas são definidas em termos da distribuição da classe dos exemplos antes de depois da divisão. Suponha que p(i/t) denote a fração de exemplos que pertencem à classe i em um determinado nodo t. Aprendizado de Máquina

Construção de uma Árvore de Decisão As métricas desenvolvidas para selecionar a melhor divisão são muitas vezes baseadas no grau de impureza dos nodos filhos. Quanto menor o grau de impureza, mais distorcida é a distribuição das classes. Por exemplo, um nodo com distribuição de classe (0,1) possui impureza zero. Enquanto que um nodo com distribuição (0.5, 0.5) possui a maior impureza. Aprendizado de Máquina

Construção de uma Árvore de Decisão Aprendizado de Máquina

Construção de uma Árvore de Decisão Nodo N1 Exemplos Classe = 0 0 Classe = 1 6 Gini = 1- (0/6) 2 (6/6) 2 = 0 Entropia = -(0/6).log 2 (0/6) (6/6).log 2 (6/6) = 0 Nodo N2 Exemplos Classe = 0 1 Classe = 1 5 Nodo N3 Exemplos Classe = 0 3 Classe = 1 3 Gini = 1- (1/6) 2 (5/6) 2 = 0.278 Entropia = -(1/6).log 2 (1/6) (5/6).log 2 (5/6) = 0.650 Gini = 1- (3/6) 2 (3/6) 2 = 0.5 Entropia = -(3/6).log 2 (3/6) (3/6).log 2 (3/6) = 1 Aprendizado de Máquina

Construção de uma Árvore de Decisão Comparando o grau de impureza do nodo pai (antes da divisão) com o grau de impureza dos nodos filhos (após a divisão). Quanto maior a diferença, melhor a condição de teste. Aprendizado de Máquina

Construção de uma Árvore de Decisão O ganho é um critério que pode ser usado para determinar a qualidade da divisão: = I pai k j=1 N vj N I(v j) Aprendizado de Máquina

Modelos de Previsão Árvores de decisão ou classificação Existem vários pacotes no R que implementam as árvores de classificação, mas o mais utilizado provavelmente é o pacote rpart. Esse pacote possui a função rpart() que pode ser usada para obter árvores de classificação.

Modelos de Previsão Conjunto de dados: zoo.csv

Modelos de Previsão Conjunto de dados: zoo.csv

Modelos de Previsão Vamos excluir a primeira coluna (nome dos animais) do data frame. Os nomes dos animais não são relevantes para o modelo de classificação.

Modelos de Previsão

Modelos de Previsão Vamos obter duas amostras, uma com 70% do conjunto de dados para a criação da árvore de classificação e, uma outra com 30%, que será usada para testar a árvore, ou seja, para obter previsões usando a árvore criada.

Modelos de Previsão Treinando a árvore de classificação Primeiro é necessário carregar o pacote rpart. A função rpart() possui basicamente 2 parâmetros, a fórmula, onde devemos informar a variável dependente e as variáveis independentes, e os dados, onde será informado o data frame.

Visualizando a árvore Modelos de Previsão

Modelos de Previsão Podemos agora testar o modelo com o data frame teste. Para isso, vamos usar a função predict(). A função produz para cada exemplo de teste um conjunto de probabilidades de pertencer a cada uma das classes, que nesse caso são 7.

Modelos de Previsão

Modelos de Previsão Se quisermos unicamente a decisão para cada exemplo de teste (que é a classe mais provável), poderemos usar a função predict(), acrescentando o parâmetro type= class

Modelos de Previsão É importante analisar o modelo para determinar, por exemplo, o percentual de erro. Para isso, podemos construir a matriz de confusão.

Modelos de Previsão Determinando o percentual de erro do modelo.

Modelos de Previsão Melhorando a visualização da árvore de decisão com o pacote rpart.plot e a função prp()

Modelos de Previsão