Tópicos

Decision Trees são técnicas de aprendizagem supervisionada, podendo ser utilizadas para diferentes tipos de problemas.

Classificação

Como o objetivo aqui é prever uma classe, o objetivo passa por ter as folhas o mais puras possível, isto é, com uma só classe.

A impureza pode ser medida segundo alguns fatores:

  • Gini
  • Entropia
  • Ganho de informação

Durante a criação da árvore, a expansão pode cair em dois casos:

  • Se o nó seguinte possui um grau de pureza menor (ou seja, é mais impuro) não expandimos por aí e o mesmo torna-se uma folha da árvore;
  • Se o nó seguinte é sinal de uma melhoria (é mais puro), continuamos

Idealmente, chegamos a nós com uma impureza igual a 0, onde será indubitável a escolha da classe para a previsão.

Regressão

Neste caso, o objetivo passa por minimizarmos o erro. Na maioria dos casos, utilizamos a soma do quadrado dos erros (SSR).

Cuidados a ter

Prunning

Caso deixemos a árvore crescer até à sua máxima profundidade, a probabilidade do modelo ficar overfitted aos dados de treino é grande.

Existem, então, duas ocasiões onde podemos aplicar uma poda na árvore.

  • Pre-prunning: definimos qual o número mínimo de samples (linhas) necessárias para que ocorra um split (min_sample_split); definimos qual o número mínimo de samples (linhas) necessárias para que um nó se transforme numa folha (min_sample_leaf)
  • Post-prunning: definimos qual a profundidade máxima da árvore manualmente (max_depth)

Vantagens

  • Configuração simples
  • Não necessita que normalizemos os dados, ou façamos scaling
  • Missing values não afetam o processo de construção da decision tree

Desvantagens

  • Inadequado para problemas com muitas features
  • Podem existir réplicas de subárvores, ou seja, com o mesmo tipo de decisão
  • Envolve, por norma, bastante tempo de treino