Blog do Eduardo

Tecnologia, Inovação, Negócios e muito mais...

Machine Learning: Árvore de Decisão

Como funciona o algorítimo de Árvore de Decisão

  • 8 de Setembro de 2019 às 23:30
Capa Post

Neste post iremos abordar um dos mais famosos algoritmos de Machine Learning, amplamente utilizado em análise de modelos preditivos para a classificação de dados. Árvore de Decisão são modelos estatísticos, que requerem a realização de aprendizado supervisionado, ou seja, a sua construção requer um conjunto de dados previamente classificados.

A forma de classificação de uma Árvore de Decisão é bem simples e fácil de abstrair. Estes modelos utilizam a estratégia de dividir para conquistar: um problema complexo é decomposto em subproblemas mais simples e recursivamente esta técnica é aplicada a cada subproblema.

Construção de uma Árvore de Decisão

Os elementos de uma Árvore de Decisão são compostos por nós e ramos. Os nós são expressões que visão testar algum atributo específico para criar uma segmentação do conjunto de dados. O resultado da segmentação destes dados é chamado ramo. Ao final do encontramos a classe, ou seja, o atributo que classifica dado o conjunto de dados. As “pontas” de cada um dos ramos que classifica a entrada em uma classe são denominadas de folhas. As expressões que definem um nó são regras, geradas por meio de cálculos estatísticos.

 

As regras para gerar cada uma das partições do atributo para a classificação. Aplica-se, por este critério, um determinado ganho de informação a cada atributo. Nos casos em que a árvore é usada para classificação, os critérios de partição mais conhecidos são baseados na entropia e índice Gini.

Funções de Ganho

Entropia é o cálculo do ganho de informação baseado em uma medida utilizada na teoria da informação. A entropia caracteriza a (im)pureza dos dados: em um conjunto de dados, é uma medida da falta de homogeneidade dos dados de entrada em relação a sua classificação.

Cálculo da Entropia

 

O ganho de informação será dado por ganho (S,A) = Entropia (S) − E (A)

O índice Gini, desenvolvido por Conrado Gini em 1912, mede o grau de heterogeneidade dos dados. Logo, pode ser utilizado para medir a impureza de um nó (Onoda, 2001). Este índice num determinado nó é dado por:

 

Overfitting

Overfitting é o “treinamento” demasiado do modelo. Ao utilizar uma base de dados “enviesada”, ou seja, que não possui uma distribuição ao acaso, corremos o risco de criar uma especialização demasiado do modelo gerado. No algoritmo de partição recursiva, a árvore estende a sua profundidade até o ponto de classificar perfeitamente os elementos do conjunto de treinamento. Quando o conjunto de treinamento não possui ruído, o número de erros no treinamento pode ser zero. Quando este conjunto, entretanto, possui ruído, ou quando o conjunto de treinamento não é representativo, este algoritmo pode produzir árvores em que há overfitting.

Exemplo de classificação com Árvore de Decisão

base <- read.csv("../input/risco-credito.csv")

head(base, 10)

 

classificador <- rpart(formula = risco ~ ., 
data = base, control = rpart.control(minbucket = 1))

print(classificador)

plot(classificador)

text(classificador)

 

rpart.plot(classificador)

historia <- c("boa", "ruim")

divida <- c("alta", "alta")

garantias <-c("nenhuma", "adequada")

renda <- c("acima_35", "0_15")

df <- data.frame(historia, divida, garantias, renda)

previsao <- predict(classificador, newdata = df)

print(previsao)


Conclusão

O algoritmo de Árvore de Decisão é um método simples de classificar um conjunto de dados. A forma da construção segue uma modelo bem simples e de fácil abstração, porém  as escolhas podem nem sempre ser entuitivas, pois são baseados em estátisticas. Pode ser usado para classificar bases de dados simples que não requerem milhares de variáveis.

Código Fonte: https://www.kaggle.com/eduardosm/a-study-of-decision-tree

Algoritmo Data Science Inteligência Artificial Machine Learning
  • COMENTÁRIOS: 0 Seja o primeiro a comentar!

Você tem o permissão de:

Compartilhar: copiar e redistribuir o material em qualquer suporte ou formato.

Adaptar: remixar, transformar, e criar a partir do material para qualquer fim, mesmo que comercial.

Esta licença é aceitável para Trabalhos Culturais Livres. O licenciante não pode revogar estes direitos desde que você respeite os termos da licença.


Blog do Eduardo - Todos os direitos reservados © 2020 Licença Creative Commons