Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Random Forest

Uma floresta aleatória calcula a média de muitas árvores de decisão, cada uma treinada com uma amostra bootstrap e divisões aleatórias de características, para classificação e regressão.

A floresta aleatória é um algoritmo de aprendizado supervisionado que treina muitas árvores de decisão com variações aleatórias dos mesmos dados e combina suas previsões por votação ou pela média das probabilidades de classe, no caso da classificação, e pela média, no caso da regressão. Leo Breiman descreveu o método em seu artigo de 2001 Random Forests, com base em sua técnica anterior de bagging. Uma única árvore profunda memoriza as linhas de treinamento, então suas previsões variam com pequenas alterações nos dados. Calcular a média de centenas de árvores que cometem erros diferentes elimina grande parte dessa variância, tornando a floresta aleatória um dos modelos padrão mais confiáveis para dados tabulares. Ela não exige escalonamento de características, lida com interações não lineares entre características e seu erro de teste se estabiliza à medida que mais árvores são adicionadas.

Como funciona a floresta aleatória#

A floresta aleatória adiciona duas fontes de aleatoriedade ao treinamento das árvores, pois um ensemble só é útil quando seus membros cometem erros diferentes; depois, combina as árvores:

  • Agregação por bootstrap (bagging): cada árvore é treinada com uma amostra bootstrap, um conjunto de linhas, do mesmo tamanho dos dados de treinamento, selecionadas com reposição. Algumas linhas aparecem várias vezes, e cerca de 37% das linhas (uma fração de 1/e) ficam de fora de cada amostra.
  • Subconjuntos aleatórios de características: em cada divisão, uma árvore considera apenas um subconjunto aleatório das características. Por padrão, o classificador do Scikit-learn usa a raiz quadrada do número de características, então um conjunto de dados com 100 características oferece 10 candidatas por divisão; o regressor considera todas as características por padrão. Assim, uma característica dominante não pode ficar no topo de todas as árvores, o que as descorrelaciona.
  • Agregação: o método original de Breiman usa a votação majoritária das árvores. A implementação do Scikit-learn, em vez disso, calcula a média das probabilidades de classe de todas as árvores, e as florestas de regressão calculam a média das previsões numéricas das árvores.

As árvores crescem profundamente e não são podadas, portanto cada uma tem baixo viés e alta variância. Calcular a média de muitas árvores descorrelacionadas reduz a variância sem aumentar o viés, uma mudança favorável no compromisso entre viés e variância. Como as árvores são independentes, elas também são treinadas em paralelo nos núcleos da CPU.

Erro fora da amostra e importância das características#

As linhas que uma árvore nunca viu funcionam como um conjunto de teste integrado. A pontuação fora da amostra (OOB) prevê cada linha de treinamento usando apenas as árvores cujas amostras bootstrap a deixaram de fora, estimando a acurácia em dados não vistos sem reservar um conjunto de validação separado. As florestas também informam a importância das características. A importância padrão baseada em impureza mede quanto cada característica reduz a impureza em todas as divisões e favorece características com muitos valores únicos; por isso, a importância por permutação — a queda na pontuação após embaralhar uma característica — é a opção mais confiável para classificar características.

Este exemplo compara uma única árvore totalmente desenvolvida com uma floresta aleatória do scikit-learn no conjunto de dados de câncer de mama incluído, usando validação cruzada de 5 partições, e depois lê a pontuação OOB da floresta:

from sklearn.datasets import load_breast_cancer
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import cross_val_score
from sklearn.tree import DecisionTreeClassifier

# 569 tumors described by 30 numeric features, labeled malignant or benign
X, y = load_breast_cancer(return_X_y=True)

# One fully grown tree vs. a forest of 300 trees on bootstrap samples
tree = DecisionTreeClassifier(random_state=0)
forest = RandomForestClassifier(n_estimators=300, oob_score=True, random_state=0)

# Compare 5-fold cross-validated accuracy
print(f"Single tree: {cross_val_score(tree, X, y, cv=5).mean():.3f}")
print(f"Forest:      {cross_val_score(forest, X, y, cv=5).mean():.3f}")

# Out-of-bag score: each row is predicted only by trees that never trained on it
forest.fit(X, y)
print(f"OOB score:   {forest.oob_score_:.3f}")

O script imprime 0.917 para a árvore única, 0.963 para a floresta e uma pontuação OOB de 0.965. A floresta reduz a taxa de erro da árvore de 8.3% para 3.7%, e a estimativa OOB fica a 0.002 da acurácia validada cruzadamente em uma única execução de treinamento.

Aplicações no mundo real#

  • Risco de crédito e detecção de fraude: bancos avaliam solicitações de empréstimo e transações com base em registros tabulares, como renda, tempo de atividade da conta e padrões de gastos; a saída de probabilidade da floresta define o limiar de decisão.
  • Previsão de riscos na área da saúde: modelos clínicos preveem resultados como readmissões com base em registros de pacientes, e a importância por permutação mostra quais medições influenciam cada previsão.
  • Análise de imagens de satélite: as florestas aleatórias são uma opção tradicional para mapear a cobertura do solo, classificando cada pixel ou campo com base nos valores das bandas espectrais e nos índices de vegetação.
  • Modelagem da produtividade agrícola: um detector YOLO26 conta frutas ou plantas em imagens de campo, com uma detecção por objeto; essas contagens por parcela são combinadas com leituras de solo e clima em colunas de uma floresta aleatória que prevê a produtividade.
  • Árvore de decisão única: uma árvore é fácil de interpretar como um conjunto de regras se-então, mas pequenas alterações nos dados podem produzir uma árvore completamente diferente. Uma floresta troca essa legibilidade por uma variância muito menor.
  • Aumento de gradiente: XGBoost, LightGBM e CatBoost constroem árvores rasas em sequência, cada uma corrigindo os erros das árvores anteriores. Após o ajuste, o aumento de gradiente costuma alcançar pontuações mais altas em benchmarks tabulares, enquanto as árvores independentes de uma floresta aleatória são treinadas em paralelo e oferecem bons resultados com as configurações padrão.
  • Modelos fundamentais tabulares: Transformers pré-treinados fazem previsões em uma nova tabela em uma única passagem direta, sem ajustar um modelo por conjunto de dados, e agora rivalizam com ensembles de árvores ajustados em tabelas pequenas.
  • Árvores extremamente aleatorizadas: para cada característica candidata, as árvores extras escolhem um limiar aleatório em vez de buscar o melhor e mantêm a melhor dessas divisões aleatórias. Por padrão, o Scikit-learn as treina com o conjunto de dados completo, sem amostragem bootstrap; ao ignorar a busca do limiar, elas são mais rápidas de ajustar do que uma floresta aleatória do mesmo tamanho.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina