Tous les produits
Search
Centre de documentation

Platform For AI:Régression logistique pour la classification multiclasse

Dernière mise à jour :Aug 09, 2026

La régression logistique standard gère la classification binaire. Le composant Logistic Regression for Multiclass Classification de Platform for AI (PAI) étend cette approche à la classification multiclasse grâce à l'algorithme d'optimisation L-BFGS. Ce composant accepte les formats de données d'entrée clairsemés (sparse) et denses.

Configurer le composant

Deux méthodes de configuration sont disponibles. Utilisez Machine Learning Designer pour une configuration visuelle sans code, ou les commandes PAI pour automatiser les workflows via des scripts ou des pipelines.

Méthode 1 : Configuration dans Machine Learning Designer

Ouvrez le composant Logistic Regression for Multiclass Classification dans Machine Learning Designer (anciennement Machine Learning Studio) et définissez les paramètres suivants.

Fields Setting tab

Paramètre Description
Training feature columns Colonnes de caractéristiques sélectionnées dans la table d'entrée pour l'entraînement. Prend en charge les types de données DOUBLE et BIGINT. Jusqu'à 20 millions de caractéristiques sont prises en charge.
Target columns Colonnes d'étiquettes dans la table d'entrée.
Sparse format Indique si les données d'entrée sont au format clairsemé (sparse).

Parameters Setting tab

Paramètre Description
Regularization type Pénalité appliquée au modèle pendant l'entraînement. Valeurs valides : L1, L2 et None.
Maximum number of iterations Nombre maximal d'itérations L-BFGS. Par défaut : 100.
Regularization coefficient Intensité de la pénalité de régularisation. Non applicable lorsque Regularization type est défini sur None.
Minimum convergence deviance Seuil de convergence pour l'algorithme L-BFGS. L'entraînement s'arrête lorsque la différence de log-vraisemblance entre les itérations consécutives est inférieure à cette valeur. Par défaut : 0.000001.

Méthode 2 : Utilisation des commandes PAI

Transmettez les paramètres directement à l'algorithme logisticregression_multi via les commandes PAI. Exécutez ces commandes dans le composant SQL Script. Pour plus d'informations, consultez SQL Script.

L'exemple suivant illustre la syntaxe de la commande :

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"

Paramètres

Paramètre Requis Par défaut Description
inputTableName Oui — Nom de la table d'entrée.
featureColNames Non Toutes les colonnes numériques Colonnes de caractéristiques sélectionnées dans la table d'entrée pour l'entraînement. Jusqu'à 20 millions de caractéristiques sont prises en charge.
labelColName Oui — Nom de la colonne d'étiquette.
inputTablePartitions Non Table complète Partitions sélectionnées dans la table d'entrée. Utilisez partition_name=value pour les partitions uniques et name1=value1/name2=value2 pour les partitions multiniveaux. Séparez plusieurs partitions par des virgules (,).
modelName Oui — Nom du modèle de sortie.
regularizedType Non l1 Type de régularisation. Valeurs valides : l1, l2 et None.
regularizedLevel Non 1.0 Coefficient de régularisation. Non applicable lorsque regularizedType est défini sur None.
maxIter Non 100 Nombre maximal d'itérations L-BFGS.
epsilon Non 1.0e-06 Seuil de convergence pour l'algorithme L-BFGS. L'entraînement s'arrête lorsque la différence de log-vraisemblance entre les itérations consécutives est inférieure à cette valeur.
enableSparse Non false Indique si les données d'entrée sont au format clairsemé (sparse). Valeurs valides : true et false.
itemDelimiter Non , Délimiteur entre les paires clé-valeur dans les entrées au format clairsemé.
kvDelimiter Non : Délimiteur entre les clés et les valeurs dans les entrées au format clairsemé.
coreNum Non Paramètre système par défaut Nombre de cœurs.
memSizePerCore Non Paramètre système par défaut Mémoire allouée par cœur, en Mo.

Exemple

Cet exemple entraîne un modèle de régression logistique multiclasse sur un jeu de données comportant quatre caractéristiques, puis effectue des prédictions. Toutes les commandes sont exécutées via le composant SQL Script.

Étape 1 : Création des données d'entraînement

Exécutez les instructions SQL suivantes pour créer la table 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 table contient quatre colonnes de caractéristiques de type DOUBLE (f0–f3) et une colonne d'étiquette de type 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

Étape 2 : Entraînement du modèle

Exécutez la commande PAI suivante pour entraîner le modèle et l'enregistrer sous le nom 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";

Étape 3 : Exécution des prédictions

Exécutez la commande PAI suivante pour générer des prédictions et écrire les résultats dans 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";

Étape 4 : Consultation des résultats

Interrogez la table multi_lr_test_prediction_result pour examiner les résultats de prédiction :

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}

Les colonnes de sortie contiennent les informations suivantes :

  • prediction_result : L'étiquette de classe prédite.

  • prediction_score : La probabilité attribuée à la classe prédite.

  • prediction_detail : Un objet JSON associant chaque étiquette de classe à sa probabilité prédite. Chaque clé correspond à une étiquette de classe et chaque valeur représente la confiance du modèle pour cette classe. Par exemple, {"0": 0.999..., "1": 2.32e-07, "2": 2.32e-07} indique que le modèle attribue une quasi-certitude à la classe 0 et une probabilité quasi nulle aux classes 1 et 2.