Tous les produits
Search
Centre de documentation

Platform For AI:Régression linéaire

Dernière mise à jour :Aug 09, 2026

Le composant Linear Regression entraîne un modèle qui prédit une sortie numérique continue à partir d'une ou plusieurs caractéristiques d'entrée. Utilisez-le lorsque votre variable cible (telle que le chiffre d'affaires, la température ou le prix) entretient une relation approximativement linéaire avec les caractéristiques d'entrée. Pour les données creuses et de haute dimensionnalité, où la plupart des valeurs de caractéristiques sont nulles, activez l'entrée au format creux pour représenter les données efficacement au format clé-valeur (KV).

Configurez le composant

Méthode 1 : Utilisez l'interface utilisateur

Ajoutez le composant Linear Regression au canevas du workflow dans Designer, puis configurez ses paramètres dans le volet de droite.

Configuration des champs

Paramètre Description Par défaut
Sélectionnez les colonnes de caractéristiques Colonnes de caractéristiques de la source de données d'entrée à utiliser pour l'entraînement. —
Sélectionnez la colonne d'étiquette Variable dépendante. Les types DOUBLE et BIGINT sont pris en charge. —
Format creux Représente les données d'entrée au format KV. Activez cette option pour les données creuses et de haute dimensionnalité où la plupart des valeurs de caractéristiques sont nulles. Désactivé
Séparateur entre les paires clé-valeur Séparateur entre les paires clé-valeur lorsque le format creux est activé. Virgule (,)
Séparateur entre la clé et la valeur Séparateur entre une clé et sa valeur lorsque le format creux est activé. Deux-points (:)

Configuration des paramètres

Paramètre Description Par défaut
Nombre maximal d'itérations Nombre maximal d'itérations pour l'algorithme. 100
Erreur de vraisemblance minimale Seuil de convergence de la log-vraisemblance. L'algorithme s'arrête lorsque la différence de log-vraisemblance entre deux itérations consécutives est inférieure à cette valeur. 0,000001
Type de régularisation Méthode de régularisation pour réduire le surajustement. Options : L1, L2, None. Utilisez L1 pour produire des coefficients creux (utile lorsque de nombreuses caractéristiques sont non pertinentes) ; utilisez L2 pour pénaliser les coefficients élevés (utile lorsque les caractéristiques sont corrélées). Définissez sur None pour désactiver la régularisation. None
Coefficient de régularisation Intensité de la pénalité de régularisation. Des valeurs plus élevées appliquent une régularisation plus forte. Ignoré lorsque Regularization type est défini sur None. 1
Générez le tableau d'évaluation du modèle Génère un tableau d'évaluation du modèle contenant : R-carré, R-carré ajusté, AIC, degrés de liberté, écart-type des résidus et déviance. Désactivé
Évaluation du coefficient de régression Ajoute des statistiques par coefficient — valeur T, valeur P et intervalle de confiance [2,5 %, 97,5 %] — au tableau d'évaluation. Disponible uniquement lorsque Generate model evaluation table est sélectionné. Désactivé

Optimisation de l'exécution

Paramètre Description Par défaut
Nombre de cœurs de calcul Nombre de cœurs à utiliser. Attribué par le système
Taille de la mémoire par cœur Mémoire par cœur. Attribué par le système

Méthode 2 : Utilisez les commandes PAI

Utilisez les commandes PAI pour configurer le composant Linear Regression . Exécutez-les via le composant SQL Script. Pour plus d'informations, consultez SQL Script.

PAI -name linearregression
    -project algo_public
    -DinputTableName=lm_test_input
    -DfeatureColNames=x
    -DlabelColName=y
    -DmodelName=lm_test_input_model_out;
Paramètre Obligatoire Par défaut Description
inputTableName Oui — Nom de la table d'entrée.
modelName Oui — Nom du modèle de sortie.
outputTableName Non — Nom de la table d'évaluation du modèle de sortie. Requis lorsque enableFitGoodness est true.
labelColName Oui — Colonne de variable dépendante. Les types DOUBLE et BIGINT sont pris en charge. Une seule colonne peut être spécifiée.
featureColNames Oui — Colonnes de variables indépendantes. Pour l'entrée dense, les types DOUBLE et BIGINT sont pris en charge. Pour l'entrée creuse, le type STRING est pris en charge.
inputTablePartitions Non — Partitions de la table d'entrée à lire.
enableSparse Non false Indique si les données d'entrée sont au format creux. Valeurs valides : true, false.
itemDelimiter Non , Séparateur entre les paires clé-valeur. Utilisé lorsque enableSparse est true.
kvDelimiter Non : Séparateur entre une clé et sa valeur. Utilisé lorsque enableSparse est true.
maxIter Non 100 Nombre maximal d'itérations.
epsilon Non 0,000001 Seuil de convergence. L'algorithme s'arrête lorsque la différence de log-vraisemblance entre deux itérations consécutives est inférieure à cette valeur.
regularizedType Non None Méthode de régularisation. Valeurs valides : l1, l2, None. Utilisez l1 pour la sélection de caractéristiques creuses ; utilisez l2 lorsque les caractéristiques sont corrélées et que vous souhaitez pénaliser les coefficients élevés.
regularizedLevel Non 1 Coefficient de régularisation. Non utilisé lorsque regularizedType est None.
enableFitGoodness Non false Indique s'il faut générer un tableau d'évaluation du modèle. Lorsque true, la table de sortie inclut : R-carré, R-carré ajusté, AIC, degrés de liberté, écart-type des résidus et déviance. Valeurs valides : true, false.
enableCoefficientEstimate Non false Indique s'il faut inclure des statistiques par coefficient dans le tableau d'évaluation. Lorsque true, ajoute la valeur T, la valeur P et l'intervalle de confiance [2,5 %, 97,5 %] pour chaque coefficient. Requiert que enableFitGoodness soit true. Valeurs valides : true, false.
lifecycle Non -1 Cycle de vie de la table d'évaluation du modèle de sortie.
coreNum Non Attribué par le système Nombre de cœurs de calcul.
memSizePerCore Non Attribué par le système Mémoire par cœur.

Exemple

Cet exemple détaille le workflow complet : créez des données d'entraînement, entraînez un modèle de régression linéaire, exécutez des prédictions et inspectez les deux tables de sortie.

Étape 1 : Créez les données d'entraînement

DROP TABLE IF EXISTS lm_test_input;
CREATE TABLE lm_test_input AS
SELECT * FROM
(
  SELECT 10 AS y, 1.84 AS x1, 1 AS x2, '0:1.84 1:1' AS sparsecol1
    UNION ALL
  SELECT 20 AS y, 2.13 AS x1, 0 AS x2, '0:2.13' AS sparsecol1
    UNION ALL
  SELECT 30 AS y, 3.89 AS x1, 0 AS x2, '0:3.89' AS sparsecol1
    UNION ALL
  SELECT 40 AS y, 4.19 AS x1, 0 AS x2, '0:4.19' AS sparsecol1
    UNION ALL
  SELECT 50 AS y, 5.76 AS x1, 0 AS x2, '0:5.76' AS sparsecol1
    UNION ALL
  SELECT 60 AS y, 6.68 AS x1, 2 AS x2, '0:6.68 1:2' AS sparsecol1
    UNION ALL
  SELECT 70 AS y, 7.58 AS x1, 0 AS x2, '0:7.58' AS sparsecol1
    UNION ALL
  SELECT 80 AS y, 8.01 AS x1, 0 AS x2, '0:8.01' AS sparsecol1
    UNION ALL
  SELECT 90 AS y, 9.02 AS x1, 3 AS x2, '0:9.02 1:3' AS sparsecol1
    UNION ALL
  SELECT 100 AS y, 10.56 AS x1, 0 AS x2, '0:10.56' AS sparsecol1
) tmp;

Étape 2 : Entraînez le modèle

La commande suivante entraîne le modèle avec l'évaluation du modèle et l'estimation des coefficients activées. La sortie est écrite dans lm_test_input_conf_out.

PAI -name linearregression
    -project algo_public
    -DinputTableName=lm_test_input
    -DlabelColName=y
    -DfeatureColNames=x1,x2
    -DmodelName=lm_test_input_model_out
    -DoutputTableName=lm_test_input_conf_out
    -DenableCoefficientEstimate=true
    -DenableFitGoodness=true
    -Dlifecycle=1;

Étape 3 : Exécutez des prédictions

Transmettez le modèle entraîné et la table d'entrée d'origine au composant prediction . La sortie inclut à la fois les valeurs réelles et prédites.

pai -name prediction
    -project algo_public
    -DmodelName=lm_test_input_model_out
    -DinputTableName=lm_test_input
    -DoutputTableName=lm_test_input_predict_out
    -DappendColNames=y;

Étape 4 : Consultez le tableau d'évaluation du modèle

Interrogez lm_test_input_conf_out pour vérifier les métriques de qualité d'ajustement et les coefficients de régression.

+----------------------+---------------------+---------------------+--------+--------------------------------------------+-------------+
| colname              | value               | tscore              | pvalue | confidenceinterval                         | p           |
+----------------------+---------------------+---------------------+--------+--------------------------------------------+-------------+
| Intercept            | -6.42378496687763   | -2.2725755951390028  | 0.06   | {"2.5%": -11.964027, "97.5%": -0.883543}  | coefficient |
| x1                   | 10.260063429838898  | 23.270944360826963  | 0.0    | {"2.5%": 9.395908, "97.5%": 11.124219}    | coefficient |
| x2                   | 0.35374498323846265 | 0.2949247320997519  | 0.81   | {"2.5%": -1.997160, "97.5%": 2.704650}    | coefficient |
| rsquared             | 0.9879675667384592  | NULL                | NULL   | NULL                                       | goodness    |
| adjusted_rsquared    | 0.9845297286637332  | NULL                | NULL   | NULL                                       | goodness    |
| aic                  | 59.331109494251805  | NULL                | NULL   | NULL                                       | goodness    |
| degree_of_freedom    | 7.0                 | NULL                | NULL   | NULL                                       | goodness    |
| standardErr_residual | 3.765777749448906   | NULL                | NULL   | NULL                                       | goodness    |
| deviance             | 99.26757440771128   | NULL                | NULL   | NULL                                       | goodness    |
+----------------------+---------------------+---------------------+--------+--------------------------------------------+-------------+

La valeur R-carré de 0,988 indique un excellent ajustement. La valeur P pour x2 (0,81) suggère qu'elle a une faible signification statistique dans cet ensemble de données.

Étape 5 : Consultez les résultats de prédiction

+-----+-------------------+---------------------+---------------------------+
| y   | prediction_result | prediction_score    | prediction_detail         |
+-----+-------------------+---------------------+---------------------------+
| 10  | NULL              | 12.808476727264404  | {"y": 12.8084767272644}   |
| 20  | NULL              | 15.43015013867922   | {"y": 15.43015013867922}  |
| 30  | NULL              | 33.48786177519568   | {"y": 33.48786177519568}  |
| 40  | NULL              | 36.565880804147355  | {"y": 36.56588080414735}  |
| 50  | NULL              | 52.674180388994415  | {"y": 52.67418038899442}  |
| 60  | NULL              | 62.82092871092313   | {"y": 62.82092871092313}  |
| 70  | NULL              | 71.34749583130122   | {"y": 71.34749583130122}  |
| 80  | NULL              | 75.75932310613193   | {"y": 75.75932310613193}  |
| 90  | NULL              | 87.1832221199846    | {"y": 87.18322211998461}  |
| 100 | NULL              | 101.92248485222113  | {"y": 101.9224848522211}  |
+-----+-------------------+---------------------+---------------------------+

La colonne prediction_score contient la valeur prédite par le modèle pour chaque ligne. Connectez ces résultats aux composants en aval pour une analyse ou un rapport ultérieur.

Étapes suivantes

  • Pour améliorer la précision du modèle, définissez regularizedType sur l1 ou l2 et ajustez regularizedLevel pour réduire le surajustement. Commencez par l2 si vos caractéristiques sont corrélées ; utilisez l1 si vous souhaitez que le modèle sélectionne un sous-ensemble creux de caractéristiques.

  • Pour exécuter des prédictions sur de nouvelles données, transmettez lm_test_input_model_out au composant prediction avec une table d'entrée différente.

  • Pour comparer les versions du modèle, activez enableFitGoodness et comparez les valeurs R-carré et AIC entre les exécutions.