Tudo o que você precisa saber sobre otimização de algoritmo de floresta aleatória
Publicados: 2020-12-22Suponha que você criou um programa de aprendizado de máquina e usou o modelo de floresta aleatória para treiná-lo. No entanto, a saída/resultado do programa não é tão preciso quanto você deseja. Então, o que você faz?
Existem três métodos para melhorar um modelo de aprendizado de máquina para melhorar a saída de um programa de aprendizado de máquina:
- Melhore a qualidade dos dados de entrada e a engenharia de recursos
- Ajuste de hiperparâmetros do algoritmo
- Usando algoritmos diferentes
Mas e se você já tiver usado todas as fontes de dados disponíveis? A próxima etapa lógica é o ajuste de hiperparâmetros. Assim, se você criou um programa de aprendizado de máquina com um modelo de floresta aleatória, usou a melhor fonte de dados e deseja melhorar ainda mais a saída do programa, deve optar pelo ajuste de hiperparâmetros de floresta aleatória .
Antes de nos aprofundarmos no ajuste de hiperparâmetros de floresta aleatória , vamos primeiro dar uma olhada nos hiperparâmetros e no ajuste de hiperparâmetros em geral.
Índice
O que são hiperparâmetros?
No contexto de aprendizado de máquina, hiperparâmetros são parâmetros cujo valor é usado para controlar o processo de aprendizado do modelo. Eles são externos ao modelo e seus valores não podem ser estimados a partir de dados.
Para ajuste de hiperparâmetros de floresta aleatória , os hiperparâmetros incluem o número de árvores de decisão e o número de recursos considerados por cada árvore durante a divisão do nó.

O que é o ajuste de hiperparâmetros?
O ajuste de hiperparâmetros é o processo de busca de um conjunto ideal de hiperparâmetros para um problema de aprendizado de máquina.
Agora que vimos o que são hiperparâmetros e ajuste de hiperparâmetros, vamos dar uma olhada em hiperparâmetros em uma floresta aleatória e ajuste de hiperparâmetros de floresta aleatória .
Leia: Perguntas da entrevista da árvore de decisão
O que é o ajuste de hiperparâmetro de floresta aleatória?
Para entender o que é o ajuste de hiperparâmetros de floresta aleatória , veremos cinco hiperparâmetros e o ajuste de hiperparâmetro para cada um.
Hiperparâmetro 1: max_depth
max_depth é o caminho mais longo entre o nó raiz e o nó folha em uma árvore em um algoritmo de floresta aleatória. Ao ajustar esse hiperparâmetro, podemos limitar a profundidade até a qual queremos que a árvore cresça no algoritmo de floresta aleatória. Este hiperparâmetro reduz o crescimento da árvore de decisão trabalhando em um nível macro.
Hiperparâmetro 2: max_terminal_nodes
Esse hiperparâmetro restringe o crescimento de uma árvore de decisão na floresta aleatória definindo uma condição na divisão de nós na árvore. A divisão dos nós será interrompida e o crescimento da árvore cessará se houver mais nós terminais do que o número especificado após a divisão.
Por exemplo, vamos supor que temos um único nó na árvore e o máximo de nós terminais é definido como quatro. Como há apenas um nó, para começar, o nó será dividido e a árvore crescerá ainda mais. Depois que a divisão atingir o limite máximo de quatro, a árvore de decisão não crescerá mais, pois a divisão será encerrada. Usar o ajuste de hiperparâmetro max_terminal_nodes ajuda a evitar o overfitting. No entanto, se o valor do ajuste for muito pequeno, é provável que a floresta seja inadequada.
Leitura Relacionada: Classificação da Árvore de Decisão
Hiperparâmetro 3: n_estimadores
Um cientista de dados sempre enfrenta o dilema de quantas árvores de decisão considerar. Pode-se dizer que escolher mais árvores é o caminho a percorrer. Isso pode ser verdade, mas também aumenta a complexidade de tempo do algoritmo de floresta aleatória.
Com o ajuste do hiperparâmetro n_estimators, podemos decidir o número de árvores no modelo de floresta aleatória. O valor padrão do parâmetro n_estimators é dez. Isso significa que dez árvores de decisão diferentes são construídas por padrão. Ajustando este hiperparâmetro, podemos alterar o número de árvores que serão construídas.

Hiperparâmetro 4: max_features
Com esse ajuste de hiperparâmetros, podemos decidir o número de recursos a serem fornecidos a cada árvore da floresta. Geralmente, se o valor de max features for definido como seis, o desempenho geral do modelo será considerado o mais alto. No entanto, você também pode definir o valor do parâmetro max features para o padrão, que é a raiz quadrada do número de recursos presentes no conjunto de dados.
Hiperparâmetro 5: min_samples_split
Esse ajuste de hiperparâmetro decide o número mínimo de amostras necessárias para dividir um nó folha interno. Por padrão, o valor desse parâmetro é dois. Isso significa que para dividir um nó interno, deve haver pelo menos duas amostras presentes.
Como fazer o ajuste de hiperparâmetro de floresta aleatória?
Você precisa realizar o ajuste de hiperparâmetro de floresta aleatória manualmente, chamando a função que cria o modelo. O ajuste de hiperparâmetros de floresta aleatória é mais uma abordagem experimental do que teórica. Assim, pode ser necessário experimentar diferentes combinações de ajuste de hiperparâmetros e avaliar o desempenho de cada um antes de decidir por um.
Por exemplo, suponha que você precise ajustar o número de estimadores e a divisão mínima de uma árvore em um algoritmo de floresta aleatória. Portanto, você pode usar o seguinte comando para realizar o ajuste de hiperparâmetro:

floresta = RandomForestClassifier(random_state = 1, n_estimators = 20, min_samples_split = 2)
No exemplo acima, o número de estimadores é alterado de seu valor padrão de dez para vinte. Assim, em vez de dez árvores de decisão, o algoritmo criará vinte árvores na floresta aleatória. Da mesma forma, um nó folha interno será dividido apenas se tiver pelo menos duas amostras.
Conclusão
Esperamos que este blog tenha ajudado você a entender o ajuste de hiperparâmetros de floresta aleatória . Existem muitos outros hiperparâmetros que você pode ajustar para melhorar a saída do programa de aprendizado de máquina. Na maioria dos casos, o ajuste de hiperparâmetros é suficiente para melhorar a saída do programa de aprendizado de máquina.
No entanto, em casos raros, mesmo o ajuste aleatório de hiperparâmetros de floresta pode não ser útil. Em tais situações, você precisará considerar um algoritmo de aprendizado de máquina diferente, como regressão linear ou logística, KNN ou qualquer outro algoritmo que considere adequado.
Se você estiver interessado em saber mais sobre árvores 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 , IIIT-B Alumni status, mais de 5 projetos práticos práticos e assistência de trabalho com as principais empresas.
Por que usar o algoritmo de floresta aleatória?
O algoritmo de floresta aleatória é um dos modelos mais utilizados quando se trata da categoria de algoritmos de aprendizado supervisionado em aprendizado de máquina. O algoritmo de floresta aleatória pode resolver problemas de classificação e regressão em aprendizado de máquina. Ele é focado no ensemble learning, o conceito que combina vários classificadores para resolver um problema complicado, de modo que possa melhorar o funcionamento geral e o resultado de um modelo. O algoritmo de floresta aleatória é popular porque leva muito menos tempo para treinamento em comparação com muitos outros algoritmos. Ele também pode oferecer previsões altamente precisas para grandes conjuntos de dados, mesmo que algumas partes dos dados estejam faltando.
Qual é a diferença entre uma árvore de decisão e uma floresta aleatória?
Um algoritmo de árvore de decisão é uma técnica de aprendizado supervisionado em aprendizado de máquina que modela uma única árvore constituindo uma série de decisões subsequentes que levam a um resultado específico. Uma árvore de decisão é simples de interpretar e entender. Mas muitas vezes é inadequado para resolver problemas mais complexos. É aqui que o algoritmo de floresta aleatória se torna útil – ele aproveita várias árvores de decisão para resolver problemas específicos. Em outras palavras, o algoritmo de floresta aleatória gera aleatoriamente várias árvores de decisão e combina seus resultados para produzir o resultado final. Embora a floresta aleatória seja mais difícil de interpretar do que a árvore de decisão, ela produz resultados precisos quando grandes volumes de dados estão envolvidos.
Quais são as vantagens de usar um algoritmo de floresta aleatória?
A maior vantagem de usar o algoritmo de floresta aleatória está em sua flexibilidade. Você pode usar essa técnica para tarefas de classificação e regressão. Além de sua versatilidade, esse algoritmo também é extremamente útil – os parâmetros padrão que ele usa são eficientes o suficiente para produzir alta precisão nas previsões. Além disso, os modelos de classificação de aprendizado de máquina são bem conhecidos por problemas como overfitting. Se houver um grande número de árvores no algoritmo de floresta aleatória, problemas de overfitting na classificação podem ser facilmente superados.