Todos os produtos
Search
Central de documentação

PolarDB:Algoritmo de regressão por floresta aleatória

Última atualização: Jun 28, 2026

A regressão por floresta aleatória é um algoritmo do PolarDB AI (Polar4AI) para prever valores numéricos contínuos. Ele constrói várias árvores de decisão independentes em paralelo, amostrando dados e recursos aleatoriamente, e calcula a média das saídas para gerar uma previsão final.

Quando usar este algoritmo

Use a regressão por floresta aleatória quando o alvo da previsão for um número contínuo — como preço, quantidade ou pontuação — e o conjunto de dados tiver dezenas de dimensões com alta exigência de precisão. Para alvos restritos a um conjunto fixo de categorias, prefira um algoritmo de classificação.

Exemplo: Prever a popularidade horária de um tópico em redes sociais. Os recursos de entrada incluem o número de grupos de discussão, a contagem de participantes e o nível de engajamento. A saída é a média de grupos de discussão ativos por hora — um valor de ponto flutuante positivo.

Como funciona

  1. Selecione amostras e recursos dos dados de treinamento de forma aleatória.

  2. Construa várias árvores de decisão independentes em paralelo; cada uma deve gerar sua própria previsão.

  3. Calcule a média das previsões de todas as árvores para obter a saída final da regressão.

A seleção aleatória de amostras e recursos reduz o overfitting e melhora a generalização em comparação com uma única árvore de decisão.

Requisitos de entrada

Coluna

Tipo obrigatório

Observações

x_cols (colunas de recursos)

Ponto flutuante ou inteiro

Todas as colunas de recursos devem ser numéricas

y_cols (coluna alvo)

Ponto flutuante ou inteiro

O modelo prevê um valor numérico contínuo

Parâmetros

Transmita os parâmetros pela opção model_parameter em uma instrução CREATE MODEL.

Parâmetro

Tipo

Padrão

Descrição

n_estimators

Inteiro positivo

100

Quantidade de árvores de decisão. Valores maiores melhoram o ajuste.

objective

String

mse

Função de perda usada durante o treinamento. Valores válidos: mse (erro quadrático médio) e mae (erro absoluto médio).

max_features

String, inteiro ou float

"sqrt"

Número máximo de recursos considerados em cada divisão. Consulte a tabela abaixo para ver os valores aceitos.

max_depth

Inteiro positivo ou None

None

Profundidade máxima de cada árvore. Se definido como None, a profundidade da árvore não será especificada.

n_jobs

Inteiro positivo

4

Quantidade de threads paralelas. Valores maiores aceleram a criação do modelo.

random_state

Inteiro positivo

1

Semente aleatória para reprodutibilidade.

**Valores aceitos para max_features**

Valor

Máximo de recursos utilizados

"sqrt" (padrão)

sqrt(n_features)

"log2"

log2(n_features)

Inteiro

O inteiro especificado, entre 0 e n_features (inclusivo)

Float

max_features × n_features

Exemplos

Os exemplos a seguir percorrem todo o fluxo de trabalho: crie um modelo, avaliá-lo e execute previsões. Todas as instruções usam o prefixo /*polar4ai*/ para encaminhar o SQL ao mecanismo Polar4AI.

Crie um modelo

/*polar4ai*/CREATE MODEL randomforestreg1 WITH
( model_class = 'randomforestreg', x_cols = 'dx1,dx2', y_cols='y',
 model_parameter=(objective='mse')) AS (SELECT * FROM db4ai.testdata1);

Avaliar o modelo

Execute EVALUATE para pontuar o modelo com base em dados rotulados. A opção metrics='r2_score' retorna o R² (coeficiente de determinação), que mede a capacidade do modelo de explicar a variância na variável alvo.

/*polar4ai*/SELECT dx1,dx2 FROM EVALUATE(MODEL randomforestreg1,
SELECT * FROM db4ai.testdata1 LIMIT 10) WITH
(x_cols = 'dx1,dx2',y_cols='y',metrics='r2_score');

Execute previsões

/*polar4ai*/SELECT dx1,dx2 FROM
PREDICT(MODEL randomforestreg1, SELECT * FROM db4ai.testdata1 LIMIT 10)
WITH (x_cols = 'dx1,dx2');