Todos los productos
Search
Centro de documentos

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

Última actualización: Sep 04, 2026

La regresión logística estándar se utiliza para la clasificación binaria. El componente Logistic Regression for Multiclass Classification en Platform for AI (PAI) amplía esta capacidad para admitir la clasificación multiclase mediante el algoritmo de optimización L-BFGS. Este componente acepta formatos de datos de entrada tanto dispersos como densos.

Configurar el componente

Existen dos métodos de configuración disponibles. Utilice Machine Learning Designer para una configuración visual sin código. Use los comandos de PAI para flujos de trabajo con scripts o automatizados en pipelines.

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

Abra el componente Logistic Regression for Multiclass Classification en Machine Learning Designer (anteriormente Machine Learning Studio) y establezca los siguientes parámetros.

Fields Setting tab

Parámetro

Descripción

Training feature columns

Columnas de características seleccionadas de la tabla de entrada para el entrenamiento. Admite los tipos de datos DOUBLE y BIGINT. Se admite un máximo de 20 millones de características.

Target columns

Columnas de etiquetas en la tabla de entrada.

Sparse format

Indica si los datos de entrada están en formato disperso.

Parameters Setting tab

Parámetro

Descripción

Regularization type

La penalización aplicada al modelo durante el entrenamiento. Valores válidos: L1, L2 y None.

Maximum number of iterations

El número máximo de iteraciones de L-BFGS. Valor predeterminado: 100.

Regularization coefficient

La intensidad de la penalización por regularización. No aplica cuando Regularization type está establecido en None.

Minimum convergence deviance

El umbral de convergencia para el algoritmo L-BFGS. El entrenamiento se detiene cuando la diferencia en la log-verosimilitud entre iteraciones consecutivas cae por debajo de este valor. Valor predeterminado: 0.000001.

Método 2: Uso de comandos de PAI

Pase los parámetros directamente al algoritmo logisticregression_multi mediante comandos de PAI. Ejecute los comandos de PAI a través del componente SQL Script. Para obtener más información, consulte SQL Script.

El siguiente ejemplo muestra la sintaxis del comando:

PAI -name logisticregression_multi
    -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

Parámetro

Obligatorio

Valor predeterminado

Descripción

inputTableName

Sí

—

Nombre de la tabla de entrada.

featureColNames

No

Todas las columnas numéricas

Columnas de características seleccionadas de la tabla de entrada para el entrenamiento. Se admite un máximo de 20 millones de características.

labelColName

Sí

—

Nombre de la columna de etiqueta.

inputTablePartitions

No

Tabla completa

Particiones seleccionadas de la tabla de entrada. Use partition_name=value para particiones únicas y name1=value1/name2=value2 para particiones de varios niveles. Separe varias particiones con comas (,).

modelName

Sí

—

Nombre del modelo de salida.

regularizedType

No

l1

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

regularizedLevel

No

1.0

Coeficiente de regularización. No aplica cuando regularizedType es None.

maxIter

No

100

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

epsilon

No

1.0e-06

Umbral de convergencia para el algoritmo L-BFGS. El entrenamiento se detiene cuando la diferencia en la log-verosimilitud entre iteraciones consecutivas es menor que este valor.

enableSparse

No

false

Indica si los datos de entrada están en formato disperso. Valores válidos: true y false.

itemDelimiter

No

,

Delimitador entre pares clave-valor en la entrada de formato disperso.

kvDelimiter

No

:

Delimitador entre claves y valores en la entrada de formato disperso.

coreNum

No

Predeterminado del sistema

Número de núcleos.

memSizePerCore

No

Predeterminado del sistema

Memoria asignada por núcleo, en MB.

Ejemplo

Este ejemplo entrena un modelo de regresión logística multiclase con un conjunto de datos de cuatro características y ejecuta predicciones. Todos los comandos se ejecutan a través del componente SQL Script.

Paso 1: Crear datos de entrenamiento

Ejecute las siguientes sentencias SQL para crear la tabla multi_lr_test_input:

drop table if exists multi_lr_test_input;
create table multi_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) as f0,
            cast(1 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) as f0,
            cast(0 as double) as f1,
            cast(1 as double) as f2,
            cast(0 as double) as f3,
            cast(2 as bigint) as label
    union all
        select
            cast(0 as double) as f0,
            cast(0 as double) as f1,
            cast(0 as double) as f2,
            cast(1 as double) as f3,
            cast(1 as bigint) as label
) a;

La tabla contiene cuatro columnas de características DOUBLE (f0–f3) y una columna de etiqueta BIGINT:

f0

f1

f2

f3

label

1.0

0.0

0.0

0.0

0

0.0

0.0

1.0

0.0

2

0.0

0.0

0.0

1.0

1

0.0

1.0

0.0

0.0

0

Paso 2: Entrenar el modelo

Ejecute el siguiente comando de PAI para entrenar el modelo y guardarlo como multi_lr_test_model:

drop offlinemodel if exists multi_lr_test_model;
PAI -name logisticregression_multi
    -project algo_public
    -DmodelName="multi_lr_test_model"
    -DitemDelimiter=","
    -DregularizedLevel="1"
    -DmaxIter="100"
    -DregularizedType="None"
    -Depsilon="0.000001"
    -DkvDelimiter=":"
    -DlabelColName="label"
    -DfeatureColNames="f0,f1,f2,f3"
    -DenableSparse="false"
    -DinputTableName="multi_lr_test_input";

Paso 3: Ejecutar predicciones

Ejecute el siguiente comando de PAI para generar predicciones y escribir los resultados en multi_lr_test_prediction_result:

drop table if exists multi_lr_test_prediction_result;
PAI -name prediction
    -project algo_public
    -DdetailColName="prediction_detail"
    -DmodelName="multi_lr_test_model"
    -DitemDelimiter=","
    -DresultColName="prediction_result"
    -Dlifecycle="28"
    -DoutputTableName="multi_lr_test_prediction_result"
    -DscoreColName="prediction_score"
    -DkvDelimiter=":"
    -DinputTableName="multi_lr_test_input"
    -DenableSparse="false"
    -DappendColNames="label";

Paso 4: Consultar resultados

Consulte la tabla multi_lr_test_prediction_result para revisar la salida de la predicción:

label

prediction_result

prediction_score

prediction_detail

0

0

0.9999997274902165

{"0": 0.9999997274902165, "1": 2.324679066261573e-07, "2": 2.324679066261569e-07}

0

0

0.9999997274902165

{"0": 0.9999997274902165, "1": 2.324679066261573e-07, "2": 2.324679066261569e-07}

2

2

0.9999999155958832

{"0": 2.018833979850994e-07, "1": 2.324679066261573e-07, "2": 0.9999999155958832}

1

1

0.9999999155958832

{"0": 2.018833979850994e-07, "1": 0.9999999155958832, "2": 2.324679066261569e-07}

Las columnas de salida contienen la siguiente información:

  • prediction_result: La etiqueta de clase predicha.

  • prediction_score: La probabilidad asignada a la clase predicha.

  • prediction_detail: Un objeto JSON que asigna cada etiqueta de clase a su probabilidad predicha. Cada clave es una etiqueta de clase y cada valor representa la confianza del modelo para dicha clase. Por ejemplo, {"0": 0.999..., "1": 2.32e-07, "2": 2.32e-07} indica que el modelo asigna una certeza casi absoluta a la clase 0 y una probabilidad cercana a cero a las clases 1 y 2.