Todos os produtos
Search
Central de documentação

Platform For AI:Regressão logística para classificação binária

Última atualização: Jun 27, 2026

O componente Logistic Regression for Binary Classification treina um classificador binário com o algoritmo de regressão logística. Ele aceita dados de entrada densos e esparsos e utiliza o otimizador L-BFGS (Limited-memory BFGS).

Funcionamento

O treinamento ocorre em três etapas:

  1. Processamento de features — O algoritmo lê as colunas de features especificadas (tipos DOUBLE ou BIGINT) e a coluna de rótulo da tabela de entrada. Se a entrada estiver no formato esparso, o componente analisa os pares chave-valor antes do processamento.

  2. Treinamento — O L-BFGS minimiza iterativamente a função de perda. Cada iteração atualiza os pesos do modelo. O treinamento é interrompido quando a melhoria da log-verossimilhança entre duas iterações consecutivas fica abaixo de epsilon ou quando se atinge o número máximo de iterações.

  3. Previsão — O modelo treinado atribui a cada linha um rótulo de classe previsto (prediction_result), uma pontuação de confiança (prediction_score) e uma distribuição de probabilidade entre todas as classes (prediction_detail).

Configure o componente

Escolha um dos métodos a seguir.

Método 1: Configure no Machine Learning Designer

Abra a aba de configuração do pipeline no Machine Learning Designer e defina os parâmetros no painel do componente.

Fields setting

Parâmetro

Descrição

Training feature columns

Colunas de features da tabela de entrada usadas para treinamento. Aceita os tipos DOUBLE e BIGINT. Limite de 20 milhões de features.

Target columns

Coluna de rótulo na tabela de entrada.

Positive class value

Valor do rótulo que representa a classe positiva na classificação binária.

Use sparse format

Ative esta opção se os dados de entrada estiverem no formato esparso.

Parameters setting

Parâmetro

Descrição

Padrão

Regularization type

Tipo de regularização aplicada durante o treinamento. Valores válidos: None, L1, L2. Consulte Escolher um tipo de regularização.

—

Maximum iterations

Número máximo de iterações do L-BFGS.

100

Regularization coefficient

Intensidade da regularização. Não tem efeito quando Regularization type é None.

—

Minimum convergence deviance

Limiar de convergência (epsilon). O treinamento para quando a melhoria da log-verossimilhança entre duas iterações cai abaixo deste valor.

0,000001

Tuning

Parâmetro

Descrição

Cores

O sistema define automaticamente.

Memory size per core

O sistema define automaticamente.

Método 2: Configure usando comandos PAI

Execute o seguinte comando PAI por meio do componente SQL Script.

PAI -name logisticregression_binary
    -project algo_public
    -DmodelName="xlab_m_logistic_regression_6096"
    -DregularizedLevel="1"
    -DmaxIter="100"
    -DregularizedType="l1"
    -Depsilon="0.000001"
    -DlabelColName="y"
    -DfeatureColNames="pdays,emp_var_rate"
    -DgoodValue="1"
    -DinputTableName="bank_data"

Parâmetros obrigatórios

Parâmetro

Descrição

inputTableName

Nome da tabela de entrada.

labelColName

Coluna de rótulo na tabela de entrada.

modelName

Nome do modelo offline de saída.

Parâmetros opcionais

Parâmetro

Descrição

Padrão

featureColNames

Colunas de features usadas para treinamento. Limite de 20 milhões de features.

Todas as colunas numéricas

inputTablePartitions

Partições a serem usadas da tabela de entrada. Formatos: partition_name=value ou name1=value1/name2=value2. Separe múltiplas partições com vírgulas.

Tabela completa

regularizedType

Tipo de regularização. Valores válidos: l1, l2, None.

l1

regularizedLevel

Coeficiente de regularização. Não tem efeito quando regularizedType é None.

1.0

maxIter

Número máximo de iterações do L-BFGS.

100

epsilon

Limiar de convergência. O treinamento é interrompido quando a melhoria da log-verossimilhança entre duas iterações fica abaixo deste valor.

1.0e-06

goodValue

Valor do rótulo correspondente à classe positiva. Atribuído aleatoriamente se não for especificado.

—

enableSparse

Indica se os dados de entrada estão no formato esparso. Valores válidos: true, false.

false

itemDelimiter

Delimitador entre pares chave-valor na entrada esparsa.

, (vírgula)

kvDelimiter

Delimitador entre chaves e valores na entrada esparsa.

: (dois pontos)

coreNum

Número de núcleos.

Alocação automática

memSizePerCore

Tamanho da memória por núcleo, em MB.

Alocação automática

Escolha um tipo de regularização

Tipo de regularização

Quando usar

Efeito

L1 (padrão)

Dados de alta dimensionalidade com muitas features irrelevantes

Leva os coeficientes das features irrelevantes a zero, gerando um modelo esparso

L2

A maioria das features é relevante e você deseja evitar coeficientes muito altos

Reduz todos os coeficientes em direção a zero sem eliminá-los

None

Conjuntos de dados pequenos ou quando se deseja analisar a linha de base sem regularização

Nenhuma regularização é aplicada; regularizedLevel é ignorado

Formato de dados esparsos

Quando enableSparse é true, o componente lê cada célula como uma string de chave-valor. As chaves são índices baseados em zero e os valores devem ser numéricos. Valores de chave não numéricos causam erro.

  • itemDelimiter separa os pares chave-valor dentro de uma célula.

  • kvDelimiter separa a chave do seu valor.

Exemplo de entrada com os delimitadores padrão (, e :):

key_value

1:100,4:200,5:300

1:10,2:20,3:30

Exemplo

Este exemplo demonstra um fluxo completo de treinamento até previsão usando um conjunto de dados denso.

Etapa 1: Crie a tabela de treinamento

DROP TABLE IF EXISTS lr_test_input;
CREATE TABLE lr_test_input AS
SELECT *
FROM (
    SELECT CAST(1 AS DOUBLE) AS f0, CAST(0 AS DOUBLE) AS f1, CAST(0 AS DOUBLE) AS f2, CAST(0 AS DOUBLE) AS f3, CAST(0 AS BIGINT) AS label
    UNION ALL
    SELECT CAST(0 AS DOUBLE), CAST(1 AS DOUBLE), CAST(0 AS DOUBLE), CAST(0 AS DOUBLE), CAST(0 AS BIGINT)
    UNION ALL
    SELECT CAST(0 AS DOUBLE), CAST(0 AS DOUBLE), CAST(1 AS DOUBLE), CAST(0 AS DOUBLE), CAST(1 AS BIGINT)
    UNION ALL
    SELECT CAST(0 AS DOUBLE), CAST(0 AS DOUBLE), CAST(0 AS DOUBLE), CAST(1 AS DOUBLE), CAST(1 AS BIGINT)
    UNION ALL
    SELECT CAST(1 AS DOUBLE), CAST(0 AS DOUBLE), CAST(0 AS DOUBLE), CAST(0 AS DOUBLE), CAST(0 AS BIGINT)
    UNION ALL
    SELECT CAST(0 AS DOUBLE), CAST(1 AS DOUBLE), CAST(0 AS DOUBLE), CAST(0 AS DOUBLE), CAST(0 AS BIGINT)
) a;

A tabela resultante lr_test_input:

f0

f1

f2

f3

label

1,0

0,0

0,0

0,0

0

0,0

0,0

1,0

0,0

1

0,0

0,0

0,0

1,0

1

0,0

1,0

0,0

0,0

0

1,0

0,0

0,0

0,0

0

0,0

1,0

0,0

0,0

0

Etapa 2: Treinar o modelo

DROP OFFLINEMODEL IF EXISTS lr_test_model;
PAI -name logisticregression_binary
    -project algo_public
    -DmodelName="lr_test_model"
    -DitemDelimiter=","
    -DregularizedLevel="1"
    -DmaxIter="100"
    -DregularizedType="None"
    -Depsilon="0.000001"
    -DkvDelimiter=":"
    -DlabelColName="label"
    -DfeatureColNames="f0,f1,f2,f3"
    -DenableSparse="false"
    -DgoodValue="1"
    -DinputTableName="lr_test_input";

Etapa 3: Execute a previsão

Para obter detalhes sobre os parâmetros do componente Prediction, consulte Prediction.

DROP TABLE IF EXISTS lr_test_prediction_result;
PAI -name prediction
    -project algo_public
    -DdetailColName="prediction_detail"
    -DmodelName="lr_test_model"
    -DitemDelimiter=","
    -DresultColName="prediction_result"
    -Dlifecycle="28"
    -DoutputTableName="lr_test_prediction_result"
    -DscoreColName="prediction_score"
    -DkvDelimiter=":"
    -DinputTableName="lr_test_input"
    -DenableSparse="false"
    -DappendColNames="label";

Etapa 4: Revisar os resultados

A tabela de saída lr_test_prediction_result contém:

label

prediction_result

prediction_score

prediction_detail

0

0

0,9999998793434426

{"0": 0,9999998793434426, "1": 1,206565574533681e-07}

1

1

0,999999799574135

{"0": 2,004258650156743e-07, "1": 0,999999799574135}

1

1

0,999999799574135

{"0": 2,004258650156743e-07, "1": 0,999999799574135}

0

0

0,9999998793434426

{"0": 0,9999998793434426, "1": 1,206565574533681e-07}

0

0

0,9999998793434426

{"0": 0,9999998793434426, "1": 1,206565574533681e-07}

0

0

0,9999998793434426

{"0": 0,9999998793434426, "1": 1,206565574533681e-07}

Colunas de saída:

  • prediction_result — o rótulo da classe prevista (0 ou 1)

  • prediction_score — a probabilidade da classe prevista

  • prediction_detail — distribuição de probabilidade entre todas as classes como um objeto JSON

Todas as previsões correspondem aos rótulos reais, com pontuações de confiança acima de 0,9999.