Algoritmo de floresta aleatória: quando usar e como usar? [Com prós e contras]
Publicados: 2020-12-24Data Science engloba uma ampla gama de algoritmos capazes de resolver problemas relacionados à classificação. A floresta aleatória geralmente está presente no topo da hierarquia de classificação. Outros algoritmos incluem máquina de vetor de suporte, classificador Naive Bias e árvores de decisão.
Antes de aprender sobre o algoritmo Random Forest, vamos primeiro entender o funcionamento básico das árvores de decisão e como elas podem ser combinadas para formar uma Random Forest.
Índice
Árvores de decisão
O algoritmo de árvore de decisão se enquadra na categoria de algoritmos de aprendizado supervisionado. O objetivo de uma árvore de decisão é prever a classe ou o valor da variável alvo com base nas regras desenvolvidas durante o processo de treinamento. Começando da raiz da árvore, comparamos o valor do atributo raiz com o ponto de dados que desejamos classificar e, com base na comparação, pulamos para o próximo nó.
Continuando, vamos discutir alguns dos termos importantes e seu significado ao lidar com árvores de decisão.
- Nó Raiz : É o nó mais alto da árvore, de onde ocorre a divisão para formar nós mais homogêneos.
- Divisão de Pontos de Dados : Os pontos de dados são divididos de uma maneira que reduz o desvio padrão após a divisão.
- Ganho de informação : O ganho de informação é a redução no desvio padrão que desejamos alcançar após a divisão. Mais redução do desvio padrão significa nós mais homogêneos.
- Entropia : Entropia é a irregularidade presente no nó após a divisão ter ocorrido. Mais homogeneidade no nó significa menos entropia.
Leia: Perguntas da entrevista da árvore de decisão
Necessidade de algoritmo de floresta aleatória
O algoritmo da Árvore de Decisão é propenso a overfitting, ou seja, alta precisão nos dados de treinamento e baixo desempenho nos dados de teste. Dois métodos populares de prevenção de overfitting de dados são Pruning e Random forest. A poda refere-se a uma redução do tamanho da árvore sem afetar a precisão geral da árvore.

Agora vamos discutir o algoritmo de floresta aleatória.
Uma grande vantagem da floresta aleatória é sua capacidade de ser usada tanto na classificação quanto em problemas de regressão.
Como o próprio nome sugere, uma floresta é formada pela combinação de várias árvores. Da mesma forma, um algoritmo de floresta aleatória combina vários algoritmos de aprendizado de máquina (árvores de decisão) para obter melhor precisão. Isso também é chamado de aprendizado conjunto. Aqui a baixa correlação entre os modelos ajuda a gerar melhor precisão do que qualquer uma das previsões individuais. Mesmo que algumas árvores gerem previsões falsas, a maioria delas produzirá previsões verdadeiras, portanto, a precisão geral do modelo aumenta.
Os algoritmos de floresta aleatória podem ser implementados em python e R como outros algoritmos de aprendizado de máquina.
Quando usar Random Forest e quando usar os outros modelos?
Em primeiro lugar, precisamos decidir se o problema é linear ou não linear. Então, se o problema for linear, devemos usar Regressão Linear Simples no caso de apenas um único recurso estar presente, e se tivermos vários recursos devemos usar Regressão Linear Múltipla. No entanto, se o problema for não linear, devemos usar Regressão Polinomial, SVR, Árvore de Decisão ou Aleatório
Floresta. Então, usando técnicas muito relevantes que avaliam o desempenho do modelo, como k-Fold Cross-Validation, Grid Search ou XGBoost, podemos concluir o modelo certo que resolve nosso problema.
Como sei quantas árvores devo usar?
Para qualquer iniciante, eu aconselharia determinar o número de árvores necessárias para experimentar. Geralmente, leva menos tempo do que realmente usar técnicas para descobrir o melhor valor ajustando e ajustando seu modelo. Experimentando vários valores de hiperparâmetros, como o número de árvores. No entanto, técnicas como Cover k-Fold Cross-Validation e Grid Search podem ser usadas, que são métodos poderosos para determinar o valor ótimo de um hiperparâmetro, como aqui o número de árvores.
O valor-p pode ser usado para Floresta aleatória?
Aqui, o valor-p será insignificante no caso de Random forest, pois são modelos não lineares.

Acondicionamento
As árvores de decisão são altamente sensíveis aos dados em que são treinadas, portanto, são propensas a overfitting. No entanto, a floresta aleatória aproveita esse problema e permite que cada árvore faça uma amostragem aleatória do conjunto de dados para obter diferentes estruturas de árvore. Este processo é conhecido como ensacamento.
Bagging não significa criar um subconjunto dos dados de treinamento. Significa simplesmente que ainda estamos alimentando a árvore com dados de treinamento, mas com tamanho N. Em vez dos dados originais, pegamos uma amostra de tamanho N (N pontos de dados) com reposição.
Importância do recurso
Os algoritmos de floresta aleatória nos permitem determinar a importância de um determinado recurso e seu impacto na previsão. Ele calcula a pontuação para cada recurso após o treinamento e os dimensiona de uma maneira que somando-os adiciona a um. Isso nos dá uma ideia de qual recurso descartar, pois eles não afetam todo o processo de previsão. Com recursos menores, é menos provável que o modelo seja vítima de overfitting.
Hiperparâmetros
O uso de hiperparâmetros aumenta a capacidade preditiva do modelo ou o torna mais rápido.
Para começar, o parâmetro n_estimator é o número de árvores que o algoritmo constrói antes de obter a previsão média. Um valor alto de n_estimator significa desempenho aprimorado com alta previsão. No entanto, seu alto valor também reduz o tempo computacional do modelo.
Outro hiperparâmetro é max_features, que é o número total de recursos que o modelo considera antes de dividir em nós subsequentes.

Além disso, min_sample_leaf é o número mínimo de folhas necessárias para dividir o nó interno.
Por fim, random_state é usado para produzir uma saída fixa quando um valor definido de random_state é escolhido junto com os mesmos hiperparâmetros e os dados de treinamento.
Vantagens e desvantagens do algoritmo Random Forest
- Random Forest é um algoritmo muito versátil capaz de resolver tanto tarefas de classificação quanto de regressão.
- Além disso, os hiperparâmetros envolvidos são fáceis de entender e, geralmente, seus valores padrão resultam em boa previsão.
- A floresta aleatória resolve o problema de overfitting que ocorre em árvores de decisão.
- Uma limitação da floresta aleatória é que muitas árvores podem tornar o processamento do algoritmo lento, tornando-o ineficaz para previsão em dados em tempo real.
Leia também: Tipos de algoritmo de classificação
Conclusão
O algoritmo de floresta aleatória é um algoritmo muito poderoso com alta precisão. Sua aplicação na vida real nos campos de bancos de investimento, mercado de ações e sites de comércio eletrônico os torna um algoritmo muito poderoso para usar. No entanto, um melhor desempenho pode ser alcançado usando algoritmos de rede neural, mas esses algoritmos, às vezes, tendem a se tornar complexos e levar mais tempo para serem desenvolvidos.
Se você estiver interessado em aprender mais sobre a árvore de decisão, Aprendizado de Máquina, confira o Diploma PG do IIIT-B e do upGrad em Aprendizado de Máquina e IA, projetado para profissionais que trabalham e oferece mais de 450 horas de treinamento rigoroso, mais de 30 estudos de caso e atribuições, status de ex-alunos do IIIT-B, mais de 5 projetos práticos práticos e assistência de trabalho com as principais empresas.
Quais são os contras de usar algoritmos de floresta aleatória?
Random Forest é um algoritmo sofisticado de aprendizado de máquina. Demanda muitos recursos de processamento, pois gera muitas árvores para encontrar o resultado. Além disso, em comparação com outros algoritmos, como o método da árvore de decisão, essa técnica exige muito tempo de treinamento. Quando os dados fornecidos são lineares, a regressão de floresta aleatória não funciona bem.
Como funciona um algoritmo de floresta aleatória?
Uma floresta aleatória é composta de muitas árvores de decisão diferentes, semelhante a como uma floresta é composta de várias árvores. Os resultados do método de floresta aleatória são realmente determinados pelas previsões das árvores de decisão. O método de floresta aleatória também reduz as chances de ajuste excessivo de dados. A classificação de floresta aleatória usa uma estratégia de conjunto para obter o resultado desejado. Várias árvores de decisão são treinadas usando os dados de treinamento. Este conjunto de dados compreende observações e características que são escolhidas aleatoriamente após a divisão dos nós.
Como uma árvore de decisão é diferente de uma floresta aleatória?
Uma floresta aleatória nada mais é do que uma coleção de árvores de decisão, tornando-a complexa de compreender. Uma floresta aleatória é mais difícil de ler do que uma árvore de decisão. Quando comparada às árvores de decisão, a floresta aleatória requer maior tempo de treinamento. Ao lidar com um grande conjunto de dados, no entanto, a floresta aleatória é favorecida. O overfitting é mais comum em árvores de decisão. O overfitting é menos provável em florestas aleatórias, pois elas usam várias árvores.