Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda A Aleatoriedade da Floresta | Random Forest
Classificação com Python

A Aleatoriedade da Floresta

Deslize para mostrar o menu

Random Forest constrói um grande número de Árvores de Decisão - tipicamente cerca de 100 ou até mais. Criar tantas árvores diferentes não é fácil apenas ajustando configurações, então a aleatoriedade é introduzida para ajudar. Felizmente, Árvores de Decisão são muito sensíveis a pequenas mudanças nos dados e nas configurações, o que naturalmente leva a uma grande variedade de árvores na floresta.

Existem duas fontes de aleatoriedade em um Random Forest:

  1. Amostragem dos dados para cada árvore;
  2. Amostragem das features em cada nó de decisão de cada árvore.

Amostragem dos Dados

Para criar um conjunto de treinamento diferente para cada Árvore de Decisão em uma floresta, utilizamos o método bootstrap (também conhecido como bagging). A ideia é amostrar, com reposição, um conjunto de dados do mesmo tamanho para cada árvore.

Por padrão, o tamanho do conjunto de dados de cada árvore corresponde ao tamanho do conjunto de dados original. A amostragem com reposição pode ser entendida como selecionar aleatoriamente um ponto de dado do conjunto de treinamento - semelhante a tirar uma carta de um baralho. No entanto, diferente do sorteio de cartas comum, cada ponto de dado selecionado não é removido, então o mesmo ponto pode ser escolhido várias vezes.

RandomForest

Cada árvore é treinada com um subconjunto diferente dos dados, o que já contribui para tornar as árvores diversas. Para adicionar ainda mais aleatoriedade e acelerar o treinamento, também é possível limitar o número de atributos que cada árvore considera ao realizar divisões.

Amostragem dos Atributos

Em uma Árvore de Decisão padrão, cada nó examina todos os atributos disponíveis para encontrar a melhor divisão – geralmente calculando métricas como a impureza de Gini. Esse processo é computacionalmente custoso.

Em uma Random Forest, apenas um subconjunto aleatório de atributos é considerado em cada nó. Isso acelera o treinamento e adiciona aleatoriedade, o que contribui para tornar as árvores mais diversas. Uma abordagem comum é usar a raiz quadrada do número total de atributos. Por exemplo, se houver 9 atributos, 3 podem ser escolhidos aleatoriamente em cada nó; se houver 10.000 atributos, cerca de 100 podem ser selecionados.

Os atributos são amostrados sem reposição, portanto, o mesmo atributo não aparecerá mais de uma vez em um único nó. O número de atributos a considerar pode ser ajustado conforme o caso de uso.

Atributos

É possível controlar quantas variáveis são consideradas em cada nó de decisão utilizando o parâmetro max_features na implementação do scikit-learn. Veja algumas opções populares:

  • max_features='sqrt': utiliza a raiz quadrada do número total de variáveis. Esta é uma configuração padrão comum que equilibra precisão e eficiência;
  • max_features='log2': utiliza o logaritmo de base 2 do número total de variáveis, proporcionando ainda mais aleatoriedade;
  • max_features=0.1: utiliza 10% das variáveis, onde o valor é tratado como uma proporção.
Note
Nota

Também é possível definir max_features como qualquer proporção entre 0 e 1 (por exemplo, max_features=0.1 utiliza 10% das variáveis).

Resumindo, um Random Forest é projetado para que cada árvore seja treinada com uma amostra diferente dos dados, e cada nó de decisão dentro dessas árvores considere um subconjunto aleatório diferente de variáveis. Essa aleatoriedade incorporada resulta em uma coleção diversificada de árvores, o que melhora o desempenho geral do modelo.

question mark

O que nos ajuda a alcançar a aleatoriedade em uma Random Forest? Selecione todas as opções que se aplicam.

Selecione todas as respostas corretas

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 4. Capítulo 2
some-alt