O que é random forest?

O que é random forest?

Random forest é um algoritmo de aprendizado de máquina amplamente utilizado, registrado por Leo Breiman e Adele Cutler, que combina a saída de múltiplas decision trees para alcançar um único resultado. Sua facilidade de uso e flexibilidade impulsionaram sua adoção, pois lida com problemas de classificação e regression.

Árvores de decisão

Como o modelo de random forest (floresta aleatória) é composto por várias árvores de decisão, vale a pena começar com uma breve descrição do algoritmo de árvore de decisão. As árvores de decisão começam com uma pergunta básica, como: “Devo surfar?”. A partir daí, você pode fazer uma série de perguntas para determinar uma resposta, como: “São ondas de longa duração?” ou “O vento está soprando para o mar?”. Essas perguntas formam os nós de decisão na árvore, atuando como um meio de dividir os dados. Cada pergunta ajuda um indivíduo a chegar a uma decisão final, que seria denotada pelo nó folha. Observações que atendem aos critérios seguirão o ramo “Sim“, enquanto aquelas que não atendem seguirão o caminho alternativo. As árvores de decisão buscam encontrar a melhor divisão para subconjuntos de dados, e geralmente são treinadas pelo algoritmo de árvore de classificação e regressão (CART). Métricas, como impureza de Gini, ganho de informação ou erro quadrático médio (MSE), podem ser usadas para avaliar a qualidade da divisão.

Esta decision tree é um exemplo de um problema de classificação, onde os rótulos de classe são "surfar" e "não surfar".

Embora as decision trees sejam algoritmos de aprendizado supervisionado comuns, elas podem estar sujeitas a problemas, como viés e overfitting. No entanto, quando múltiplas decision trees formam um conjunto no algoritmo de random forest, elas preveem resultados mais precisos, particularmente quando as trees individuais não estão correlacionadas entre si.

Métodos de conjunto

Métodos de aprendizado de conjunto são compostos por um conjunto de classificadores (p. ex., árvores de decisão) e suas previsões são agregadas para identificar o resultado mais popular. Os métodos de conjunto mais conhecidos são bagging (também conhecido como agregação bootstrap) e boosting. Em 1996, Leo Breiman (link externo ao site ibm.com) introduziu o método bagging. Nele, uma amostra aleatória de dados em um conjunto de treinamento é selecionada com substituição, o que significa que os pontos de dados individuais podem ser escolhidos mais de uma vez. Após a geração de várias amostras de dados, esses modelos são então treinados de forma independente, e dependendo do tipo de tarefa (p. ex., regressão ou classificação), a média ou a maioria dessas previsões resulta em uma estimativa mais precisa. Essa abordagem é muito usada para reduzir a variância em um conjunto de dados com ruído.

Algoritmo de random forest

O algoritmo random forest é uma extensão do método bagging, pois utiliza tanto bagging quanto aleatoriedade de características para criar uma floresta não correlacionada de árvores de decisão. A aleatoriedade de características, também conhecida como “feature bagging” ou “método do subespaço aleatório” (link externo ao site ibm.com), gera um subconjunto aleatório de características, o que garante baixa correlação entre as árvores de decisão. Essa é uma diferença fundamental entre árvores de decisão e random forests. Enquanto as árvores de decisão consideram todas as possíveis divisões de características, as random forests selecionam apenas um subconjunto dessas características.

Se voltarmos à questão do "devo surfar?", por exemplo, as perguntas que posso fazer para determinar a previsão podem não ser tão abrangentes quanto o conjunto de perguntas de outra pessoa. Ao considerar toda a variabilidade potencial nos dados, podemos reduzir o risco de overfitting, viés e variância geral, resultando em previsões mais precisas.

Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionadas por especialistas sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Veja como funciona

Os algoritmos de random forest têm três principais hiperparâmetros, que precisam ser definidos antes do treinamento. Estes incluem o tamanho dos nós, o número de trees e o número de características amostradas. A partir daí, o classificador de random forest pode ser usado para resolver problemas de regression ou classificação.

O algoritmo de random forest é composto por uma coleção de decision trees, e cada tree no conjunto é formada por uma amostra de dados retirada de um conjunto de treinamento com reposição, chamada de amostra bootstrap. Dessa amostra de treinamento, um terço é reservado como dados de teste, conhecidos como amostra out-of-bag (oob), sobre os quais voltaremos mais tarde. Outra instância de aleatoriedade é então introduzida através do feature bagging, adicionando mais diversidade ao conjunto de dados e reduzindo a correlação entre as decision trees. Dependendo do tipo de problema, a determinação da previsão varia. Para uma tarefa de regression, será feita a média das decision trees individuais. Para uma tarefa de classificação, a maioria dos votos (ou seja, a variável categórica mais frequente) resultará na classe prevista. Por fim, a amostra oob é usada para validação cruzada, finalizando essa previsão.

Benefícios e desafios do random forest

Existem várias vantagens e desafios importantes que o algoritmo de random forest apresenta quando usado para problemas de classificação ou regression. Alguns deles incluem:

Principais benefícios

  • Redução do risco de overfitting: decision trees correm o risco de overfitting, pois tendem a se ajustar de forma excessiva a todas as amostras dentro dos dados de treinamento. No entanto, quando há um número robusto de decision trees em um random forest, o classificador não sobrecarregará o modelo, pois a média de trees não correlacionadas reduz a variância geral e o erro de previsão.
  • Fornece flexibilidade: como o random forest pode lidar tanto com tarefas de regression quanto de classificação com um alto grau de precisão, é um método popular entre cientistas de dados. O feature bagging também torna o classificador de random forest uma ferramenta eficaz para estimar valores ausentes, mantendo a precisão quando uma parte dos dados está faltando.
  • Fácil de determinar a importância das características: o random forest facilita a avaliação da importância ou contribuição das variáveis para o modelo. Existem algumas maneiras de avaliar a importância de um recurso. A importância de Gini e a diminuição média da impureza (MDI) são geralmente usadas para medir o quanto a precisão do modelo diminui quando uma determinada variável é excluída. No entanto, a importância por permutação, também conhecida como diminuição média da precisão (MDA), é outra medida de importância. A MDA identifica a diminuição média na precisão ao permutar aleatoriamente os valores das características nas amostras oob.

Principais desafios

  • Processo demorado: como os algoritmos de random forest podem lidar com grandes conjuntos de dados, eles podem fornecer previsões mais precisas, mas podem ser lentos para processar os dados, pois estão calculando os dados para cada decision tree individual.
  • Exige mais recursos: como os random forests processam conjuntos de dados maiores, eles precisarão de mais recursos para armazenar esses dados.
  • Mais complexo: a previsão de uma única decision tree é mais fácil de interpretar em comparação com uma floresta delas.
Mistura de Especialistas | Podcast

Decodificando a IA: resumo semanal das notícias

Junte-se a nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Aplicações do random forest

O algoritmo de random forest tem sido aplicado em vários setores, permitindo que eles tomem decisões de negócios mais informadas. Alguns casos de uso são:

  • Setor financeiro: é um algoritmo preferido em relação a outros, pois reduz o tempo gasto em tarefas de gerenciamento de dados e pré-processamento. Pode ser utilizado para avaliar clientes com alto risco de crédito, detectar fraudes e problemas de precificação de opções.
  • Setor de saúde: o algoritmo random forest tem aplicações na biologia computacional (link externo ao site ibm.com), permitindo que médicos abordem problemas, como classificação de expressões gênicas, descoberta de biomarcadores e anotação de sequências. Como resultado, os médicos podem fazer estimativas sobre as respostas a medicamentos específicos.
  • E-commerce: pode ser usado para mecanismos de recomendação com o objetivo de vendas cruzadas.
Soluções relacionadas
IBM watsonx.ai

Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.

Conheça o watsonx.ai
Soluções de inteligência artificial

Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

Explore as soluções de IA
Consultoria e serviços em IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

Explore os serviços de IA
Dê o próximo passo

Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

Explore o watsonx.ai Agende uma demonstração em tempo real