Tous les produits
Search
Centre de documentation

Platform For AI:Régression PS-SMART

Dernière mise à jour :Aug 09, 2026

PS-SMART associe Parameter Server (PS) et Scalable Multiple Additive Regression Tree (SMART) pour entraîner des modèles de régression sur des jeux de données comportant des milliards d'échantillons et des centaines de milliers de features.

Limites

Les données d'entrée doivent respecter les exigences suivantes :

  • La colonne cible doit être numérique. Convertissez les types STRING dans les tables MaxCompute avant l'entraînement.

  • Pour les données au format clé-valeur, les ID de feature doivent être des entiers positifs et les valeurs de feature des nombres réels. Utilisez un composant de sérialisation pour les ID de feature de type STRING ou appliquez une ingénierie des features (discrétisation) pour les chaînes catégorielles.

  • Les jeux de données contenant des centaines de milliers de features consomment beaucoup de ressources et s'exécutent lentement. Privilégiez les algorithmes GBDT, qui traitent directement les features continues. Appliquez un encodage one-hot aux features catégorielles pour filtrer celles à faible fréquence, mais évitez de discrétiser les features continues.

  • L'algorithme introduit de l'aléatoire via l'échantillonnage des données (data_sample_ratio), l'échantillonnage des features (fea_sample_ratio), l'approximation par histogramme et la fusion des esquisses. Les structures d'arbres peuvent varier entre les workers distribués, bien que les performances du modèle restent similaires. Les résultats peuvent donc différer d'une exécution à l'autre, même avec des données et des paramètres identiques.

  • Augmentez le nombre de cœurs de calcul pour accélérer l'entraînement. Celui-ci ne démarre qu'une fois toutes les ressources allouées ; demander davantage de ressources prolonge donc le temps d'attente lorsque le cluster est très sollicité.

Configuration

Interface visuelle

Ajoutez le composant PS-SMART Regression au canevas Designer, puis configurez les paramètres dans le volet de droite.

Type de paramètre

Paramètre

Description

Configuration des champs

Format sparse

Sépare les paires clé-valeur du format sparse par des espaces. Les clés et les valeurs sont séparées par des deux-points (:). Exemple : 1:0.3 3:0.9.

Sélectionner les colonnes de features

Colonnes de features de la table d'entrée utilisées pour l'entraînement. Pour le format dense, sélectionnez uniquement des colonnes BIGINT ou DOUBLE. Pour le format sparse clé-valeur avec des clés et valeurs numériques, sélectionnez uniquement des colonnes STRING.

Sélectionner la colonne de libellé

Colonne de libellé issue de la table d'entrée. Prend en charge les types STRING et numériques. Le système convertit internement ces valeurs en types numériques uniquement, par exemple 0 et 1 pour la classification binaire.

Sélectionner la colonne de pondération

Colonne servant à pondérer chaque ligne d'échantillon. Seuls les types numériques sont pris en charge.

Configuration des paramètres

Type de fonction objectif

Types disponibles :

  • Linear regression (par défaut)

  • Logistic regression

  • Poisson regression

  • Gamma regression

  • Tweedie regression

Indice de distribution Tweedie

Disponible uniquement si le type de fonction objectif est Tweedie regression. Spécifie l'indice de la relation entre la variance et la moyenne de la distribution de Tweedie.

Type de métrique d'évaluation

Types disponibles :

  • rooted mean square error

  • mean absolute error

  • negative loglikelihood for logistic regression

  • negative loglikelihood for poisson regression

  • residual deviance for gamma regression

  • negative log-likelihood for gamma regression

  • negative log-likelihood for Tweedie regression

  • None

Nombre d'arbres

Nombre total d'arbres à construire. Doit être un entier positif. Le temps d'entraînement augmente proportionnellement à cette valeur.

Profondeur maximale de l'arbre

Par défaut : 5 (maximum 32 nœuds feuilles).

Ratio d'échantillonnage des données

Fraction des données d'entraînement échantillonnées pour construire chaque arbre. L'échantillonnage accélère l'entraînement en construisant des apprenants faibles sur un sous-ensemble de données.

Ratio d'échantillonnage des features

Fraction des features échantillonnées pour construire chaque arbre. Cette technique accélère l'entraînement en construisant des apprenants faibles sur un sous-ensemble de features.

Coefficient de pénalité L1

Contrôle la taille des nœuds feuilles. Des valeurs plus élevées produisent une distribution plus uniforme. Augmentez cette valeur pour réduire le surapprentissage.

Coefficient de pénalité L2

Contrôle la taille des nœuds feuilles. Des valeurs plus élevées produisent une distribution plus uniforme. Augmentez cette valeur pour réduire le surapprentissage.

Taux d'apprentissage

Plage : (0,1).

Précision de l'esquisse approximative

Seuil de quantile pour la scission lors de la construction d'une esquisse. Des valeurs plus faibles génèrent davantage de buckets. Utilisez la valeur par défaut 0,03.

Changement minimal de perte de scission

Changement de perte minimal requis pour scinder un nœud. Des valeurs plus élevées produisent des scissions plus conservatrices.

Nombre de features

Nombre total de features ou ID de feature maximal. Si ce champ n'est pas renseigné, le système calcule automatiquement cette valeur en exécutant une tâche SQL.

Biais global

Valeur de prédiction initiale pour tous les échantillons.

Graine du générateur de nombres aléatoires

Graine pour le générateur de nombres aléatoires. Doit être un entier.

Type d'importance des features

Types disponibles :

  • Number of times the feature is used as a split feature in the model

  • Information gain brought by the feature in the model (par défaut)

  • Number of samples covered by the feature at split nodes in the model

Optimisation de l'exécution

Nombre de cœurs

Alloué par le système par défaut.

Mémoire par cœur (Mo)

Mémoire par cœur en Mo. Allouée par le système par défaut.

Commandes PAI

Vous pouvez également configurer le composant PS-SMART Regression en exécutant des commandes PAI depuis le composant de script SQL. Pour plus d'informations, consultez Script SQL.

# Train the model.
PAI -name ps_smart
    -project algo_public
    -DinputTableName="smart_regression_input"
    -DmodelName="xlab_m_pai_ps_smart_bi_545859_v0"
    -DoutputTableName="pai_temp_24515_545859_2"
    -DoutputImportanceTableName="pai_temp_24515_545859_3"
    -DlabelColName="label"
    -DfeatureColNames="features"
    -DenableSparse="true"
    -Dobjective="reg:linear"
    -Dmetric="rmse"
    -DfeatureImportanceType="gain"
    -DtreeCount="5"
    -DmaxDepth="5"
    -Dshrinkage="0.3"
    -Dl2="1.0"
    -Dl1="0"
    -Dlifecycle="3"
    -DsketchEps="0.03"
    -DsampleRatio="1.0"
    -DfeatureRatio="1.0"
    -DbaseScore="0.5"
    -DminSplitLoss="0"
# Make predictions.
PAI -name prediction
    -project algo_public
    -DinputTableName="smart_regression_input";
    -DmodelName="xlab_m_pai_ps_smart_bi_545859_v0"
    -DoutputTableName="pai_temp_24515_545860_1"
    -DfeatureColNames="features"
    -DappendColNames="label,features"
    -DenableSparse="true"
    -Dlifecycle="28"

Type de paramètre

Paramètre

Obligatoire

Valeur par défaut

Description

Paramètres de données

featureColNames

Oui

Aucune

Colonnes de features de la table d'entrée utilisées pour l'entraînement. Pour le format dense, sélectionnez uniquement des colonnes BIGINT ou DOUBLE. Pour le format sparse clé-valeur avec des clés et valeurs numériques, sélectionnez uniquement des colonnes STRING.

labelColName

Oui

Aucune

Colonne de libellé issue de la table d'entrée. Prend en charge les types STRING et numériques. Le système convertit internement ces valeurs en types numériques uniquement, par exemple 0 et 1 pour la classification binaire.

weightCol

Non

Aucune

Colonne servant à pondérer chaque ligne d'échantillon. Seuls les types numériques sont pris en charge.

enableSparse

Non

false

Indique si les données sont au format sparse. Valeurs valides : {true,false}. Sépare les paires clé-valeur par des espaces. Les clés et les valeurs sont séparées par des deux-points (:). Exemple : 1:0.3 3:0.9.

inputTableName

Oui

Aucune

Nom de la table d'entrée.

modelName

Oui

Aucune

Nom du modèle en sortie.

outputImportanceTableName

Non

Aucune

Nom de la table de sortie contenant les informations sur l'importance des features.

inputTablePartitions

Non

Aucune

Format : ds=1/pt=1.

outputTableName

Non

Aucune

Table de sortie dans MaxCompute, au format binaire.

lifecycle

Non

3

Cycle de vie de la table de sortie, en jours.

Paramètres de l'algorithme

objective

Oui

reg:linear

Type de fonction objectif. Types disponibles :

  • reg:linear : régression linéaire

  • reg:logistic : régression logistique

  • count:poisson : régression de Poisson

  • reg:gamma : régression Gamma

  • reg:tweedie : régression de Tweedie

metric

Non

Aucune

Métrique d'évaluation pour le jeu de données d'entraînement. La sortie est écrite dans le fichier stdout de la zone du coordinateur Logview. Types disponibles :

  • rmse : erreur quadratique moyenne

  • mae : erreur absolue moyenne

  • logistic-nloglik : log-vraisemblance négative pour la régression logistique

  • poisson-nloglik : log-vraisemblance négative pour la régression de Poisson

  • gamma-deviance : déviance résiduelle pour la régression Gamma

  • gamma-nloglik : log-vraisemblance négative pour la régression Gamma

  • tweedie-nloglik : log-vraisemblance négative pour la régression de Tweedie

treeCount

Non

1

Nombre d'arbres. Le temps d'entraînement augmente proportionnellement à cette valeur.

maxDepth

Non

5

Profondeur maximale d'un arbre. Plage : de 1 à 20.

sampleRatio

Non

1,0

Ratio d'échantillonnage des données. Plage : (0,1]. Une valeur de 1,0 indique l'absence d'échantillonnage.

featureRatio

Non

1,0

Ratio d'échantillonnage des features. Plage : (0,1]. Une valeur de 1,0 indique l'absence d'échantillonnage.

l1

Non

0

Coefficient de pénalité L1. Des valeurs plus élevées produisent une distribution plus uniforme des nœuds feuilles. Augmentez cette valeur pour réduire le surapprentissage.

l2

Non

1,0

Coefficient de pénalité L2. Des valeurs plus élevées produisent une distribution plus uniforme des nœuds feuilles. Augmentez cette valeur pour réduire le surapprentissage.

shrinkage

Non

0,3

Taux d'apprentissage. Plage : (0,1).

sketchEps

Non

0,03

Seuil de quantile pour la scission lors de la construction d'une esquisse. Le nombre de buckets est O(1.0/sketchEps). Des valeurs plus faibles génèrent davantage de buckets. Utilisez la valeur par défaut. Plage : (0,1).

minSplitLoss

Non

0

Changement de perte minimal requis pour scinder un nœud. Des valeurs plus élevées produisent des scissions plus conservatrices.

featureNum

Non

Aucune

Nombre total de features ou ID de feature maximal. Si ce paramètre n'est pas spécifié lors de l'estimation de l'utilisation des ressources, le système calcule automatiquement la valeur en exécutant une tâche SQL.

baseScore

Non

0,5

Valeur de prédiction initiale pour tous les échantillons.

randSeed

Non

Aucune

Graine pour le générateur de nombres aléatoires. Doit être un entier.

featureImportanceType

Non

gain

Méthode de calcul de l'importance des features. Méthodes disponibles :

  • weight : nombre de fois où la feature est utilisée comme feature de scission dans le modèle.

  • gain : gain d'information apporté par la feature dans le modèle.

  • cover : nombre d'échantillons couverts par la feature aux nœuds de scission dans le modèle.

tweedieVarPower

Non

1,5

Indice de la relation entre la variance et la moyenne de la distribution de Tweedie.

Paramètres d'optimisation

coreNum

Non

Alloué par le système

Nombre de cœurs. Des valeurs plus élevées accélèrent l'algorithme.

Non

Alloué par le système

Mémoire par cœur en Mo.

Exemple

  1. Utilisez le nœud ODPS SQL pour exécuter l'instruction SQL ci-dessous et générer les données d'entrée. Cet exemple utilise le format clé-valeur.

    drop table if exists smart_regression_input;
    create table smart_regression_input as
    select
    *
    from
    (
    select 2.0 as label, '1:0.55 2:-0.15 3:0.82 4:-0.99 5:0.17' as features
        union all
    select 1.0 as label, '1:-1.26 2:1.36 3:-0.13 4:-2.82 5:-0.41' as features
        union all
    select 1.0 as label, '1:-0.77 2:0.91 3:-0.23 4:-4.46 5:0.91' as features
        union all
    select 2.0 as label, '1:0.86 2:-0.22 3:-0.46 4:0.08 5:-0.60' as features
        union all
    select 1.0 as label, '1:-0.76 2:0.89 3:1.02 4:-0.78 5:-0.86' as features
        union all
    select 1.0 as label, '1:2.22 2:-0.46 3:0.49 4:0.31 5:-1.84' as features
        union all
    select 0.0 as label, '1:-1.21 2:0.09 3:0.23 4:2.04 5:0.30' as features
        union all
    select 1.0 as label, '1:2.17 2:-0.45 3:-1.22 4:-0.48 5:-1.41' as features
        union all
    select 0.0 as label, '1:-0.40 2:0.63 3:0.56 4:0.74 5:-1.44' as features
        union all
    select 1.0 as label, '1:0.17 2:0.49 3:-1.50 4:-2.20 5:-0.35' as features
    ) tmp;

    Les données générées sont illustrées ci-dessous.image

  2. Construisez le workflow ci-dessous et exécutez les composants. Pour plus d'informations, consultez Modélisation d'algorithme.image

    1. Dans la liste des composants située à gauche du canevas Designer, recherchez les composants Read Table, PS-SMART Regression, Prediction et Write Table, puis faites-les glisser sur le canevas.

    2. Configurez les paramètres des composants.

      • Cliquez sur le composant Read Table-1 sur le canevas. Dans l'onglet Select Table du volet de droite, définissez Table Name sur smart_regression_input.

      • Cliquez sur le composant PS-SMART Regression-1 sur le canevas. Dans le volet de droite, configurez les paramètres comme indiqué dans le tableau ci-dessous. Conservez les valeurs par défaut pour les autres paramètres.

        Type de paramètre

        Paramètre

        Description

        Configuration des champs

        Format sparse

        Cochez la case Is sparse format.

        Colonnes de features

        Sélectionnez la colonne features.

        Colonne de libellé

        Sélectionnez la colonne label.

        Configuration des paramètres

        Type de fonction objectif

        Définissez sur Linear regression.

        Type de métrique d'évaluation

        Sélectionnez rooted mean square error.

        Nombre d'arbres

        Définissez sur 5.

      • Cliquez sur le composant Prediction-1 sur le canevas. Dans le volet de droite, configurez les paramètres comme indiqué dans le tableau ci-dessous. Conservez les valeurs par défaut pour les autres paramètres.

        Type de paramètre

        Paramètre

        Description

        Configuration des champs

        Colonnes de features

        Toutes les colonnes sont sélectionnées par défaut. Les colonnes supplémentaires n'affectent pas les résultats de la prédiction.

        Colonnes transmises

        Sélectionnez la colonne label.

        Matrice sparse

        Cochez la case Sparse matrix.

        Séparateur clé-valeur

        Définissez sur un deux-points (:).

        Séparateur entre paires clé-valeur

        Définissez sur un espace.

      • Cliquez sur le composant Write Table-1 sur le canevas. Dans le volet de droite, sous l'onglet Select Table, définissez Table Name for Output sur smart_regression_output.

    3. Une fois les paramètres configurés, cliquez sur le bouton d'exécution image pour lancer le workflow.

  3. Cliquez avec le bouton droit sur le composant Prediction-1 et choisissez View Data > Prediction Result Output.image

  4. Pour consulter l'importance des features, cliquez avec le bouton droit sur le composant PS-SMART Regression-1 et sélectionnez View Data > Output Feature Importance Table dans le menu contextuel. image

    La colonne id indique le numéro ordinal de la feature d'entrée. Étant donné que les données d'entrée de cet exemple utilisent le format clé-valeur, la colonne id représente la clé de la paire clé-valeur. La table d'importance des features ne contient que deux features, ce qui signifie que seules ces deux features ont été utilisées lors de la scission des arbres. Les autres features ont une importance de 0. La colonne value indique le type d'importance de la feature. La valeur par défaut est gain, qui correspond au gain d'information total apporté par la feature au modèle.

Déploiement du modèle

Pour déployer le modèle généré par le composant PS-SMART en tant que service en ligne, ajoutez le composant General-purpose Model Export en aval du composant PS-SMART. Configurez les paramètres du composant de la même manière que pour les autres composants de la série PS. Pour plus d'informations, consultez General-purpose Model Export.

Après une exécution réussie, déployez le service de modèle sur la page PAI-EAS Model Online Service. Pour plus d'informations, consultez Déployer un service dans la console.

Références