Todos los productos
Search
Centro de documentos

Platform For AI:Regresión logística para clasificación binaria

Última actualización: Sep 04, 2026

La regresión logística para clasificación binaria entrena un clasificador binario mediante el algoritmo de regresión logística. El componente admite datos de entrada densos y dispersos, y utiliza el optimizador BFGS de memoria limitada (L-BFGS).

Funcionamiento

El entrenamiento se ejecuta en tres etapas:

  1. Procesamiento de características: el algoritmo lee las columnas de características especificadas (tipos DOUBLE o BIGINT) y la columna de etiqueta de la tabla de entrada. Si la entrada tiene formato disperso, el componente analiza los pares clave-valor antes de procesarlos.

  2. Entrenamiento: L-BFGS minimiza iterativamente la función de pérdida. En cada iteración se actualizan los pesos del modelo. El entrenamiento se detiene cuando la mejora de la log-verosimilitud entre dos iteraciones consecutivas cae por debajo de epsilon, o cuando se alcanza el número máximo de iteraciones.

  3. Predicción: el modelo entrenado asigna a cada fila una etiqueta de clase predicha (prediction_result), una puntuación de confianza (prediction_score) y una distribución de probabilidad para todas las clases (prediction_detail).

Configurar el componente

Elija uno de los siguientes métodos.

Método 1: Configuración en Machine Learning Designer

Abra la pestaña de configuración del pipeline en Machine Learning Designer y establezca los parámetros en el panel del componente.

Fields setting

Parámetro

Descripción

Training feature columns

Columnas de características de la tabla de entrada que se utilizan para el entrenamiento. Admite tipos DOUBLE y BIGINT. Máximo de 20 millones de características.

Target columns

La columna de etiqueta en la tabla de entrada.

Positive class value

El valor de etiqueta que representa la clase positiva en la clasificación binaria.

Use sparse format

Habilite esta opción si los datos de entrada tienen formato disperso.

Parameters setting

Parámetro

Descripción

Valor predeterminado

Regularization type

Regularización que se aplica durante el entrenamiento. Valores válidos: None, L1, L2. Consulte Elegir un tipo de regularización.

—

Maximum iterations

Número máximo de iteraciones de L-BFGS.

100

Regularization coefficient

Intensidad de la regularización. No tiene efecto cuando Regularization type es None.

—

Minimum convergence deviance

Umbral de convergencia (epsilon). El entrenamiento se detiene cuando la mejora de la log-verosimilitud entre dos iteraciones cae por debajo de este valor.

0.000001

Tuning

Parámetro

Descripción

Cores

El sistema lo establece automáticamente.

Memory size per core

El sistema lo establece automáticamente.

Método 2: Configuración mediante comandos de PAI

Ejecute el siguiente comando de PAI a través del 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 obligatorios

Parámetro

Descripción

inputTableName

Nombre de la tabla de entrada.

labelColName

Columna de etiqueta en la tabla de entrada.

modelName

Nombre del modelo sin conexión de salida.

Parámetros opcionales

Parámetro

Descripción

Valor predeterminado

featureColNames

Columnas de características utilizadas para el entrenamiento. Máximo de 20 millones de características.

Todas las columnas numéricas

inputTablePartitions

Particiones que se usarán de la tabla de entrada. Formatos: partition_name=value o name1=value1/name2=value2. Separe varias particiones con comas.

Tabla completa

regularizedType

Tipo de regularización. Valores válidos: l1, l2, None.

l1

regularizedLevel

Coeficiente de regularización. No tiene efecto cuando regularizedType es None.

1.0

maxIter

Número máximo de iteraciones de L-BFGS.

100

epsilon

Umbral de convergencia. El entrenamiento se detiene cuando la mejora de la log-verosimilitud entre dos iteraciones cae por debajo de este valor.

1.0e-06

goodValue

Valor de etiqueta correspondiente a la clase positiva. Se asigna aleatoriamente si no se especifica.

—

enableSparse

Indica si los datos de entrada tienen formato disperso. Valores válidos: true, false.

false

itemDelimiter

Delimitador entre pares clave-valor en la entrada dispersa.

, (coma)

kvDelimiter

Delimitador entre claves y valores en la entrada dispersa.

: (dos puntos)

coreNum

Número de núcleos.

Asignado automáticamente

memSizePerCore

Tamaño de memoria por núcleo, en MB.

Asignado automáticamente

Elegir un tipo de regularización

Tipo de regularización

Cuándo usarlo

Efecto

L1 (predeterminado)

Datos de alta dimensionalidad con muchas características irrelevantes

Lleva los coeficientes de las características irrelevantes a cero y genera un modelo disperso

L2

La mayoría de las características son relevantes y se desea evitar coeficientes grandes

Reduce todos los coeficientes hacia cero sin eliminarlos

None

Conjuntos de datos pequeños o cuando se quiere entender la línea base sin regularización

No se aplica regularización; se ignora regularizedLevel

Formato de datos dispersos

Cuando enableSparse es true, el componente lee cada celda como una cadena de clave-valor. Las claves son índices basados en cero y los valores deben ser numéricos. Los valores de clave no numéricos provocan un error.

  • itemDelimiter separa los pares clave-valor dentro de una celda.

  • kvDelimiter separa una clave de su valor.

Ejemplo de entrada con los delimitadores predeterminados (, y :):

key_value

1:100,4:200,5:300

1:10,2:20,3:30

Ejemplo

Este ejemplo muestra un flujo de trabajo completo de entrenamiento a predicción con un conjunto de datos denso.

Paso 1: Crear la tabla de entrenamiento

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;

La tabla 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

Paso 2: Entrenar el 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";

Paso 3: Ejecutar la predicción

Para obtener detalles sobre los parámetros del 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";

Paso 4: Revisar los resultados

La tabla de salida lr_test_prediction_result contiene:

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}

Columnas de salida:

  • prediction_result: etiqueta de clase predicha (0 o 1)

  • prediction_score: probabilidad de la clase predicha

  • prediction_detail: distribución de probabilidad para todas las clases como objeto JSON

Todas las predicciones coinciden con las etiquetas reales, con puntuaciones de confianza superiores a 0.9999.