Tous les produits
Search
Centre de documentation

Platform For AI:Régression GBDT

Dernière mise à jour :Aug 09, 2026

Le Gradient Boosting Decision Tree (GBDT) est un algorithme d'apprentissage automatique avancé. Il utilise une méthode itérative pour construire un ensemble d'arbres de décision dédiés à l'analyse de régression. En optimisant progressivement une fonction de perte, l'algorithme peut traiter des problèmes de régression linéaire et non linéaire, tout en fournissant des résultats de prédiction hautement précis.

Configuration du composant

Méthode 1 : Configuration visuelle

Ajoutez le composant GBDT Regression à la page du flux de travail Designer. Configurez ensuite les paramètres dans le volet de droite.

Type de paramètre

Paramètre

Description

Configuration des champs

Colonnes d'entrée

Les colonnes de caractéristiques de la source de données d'entrée utilisées pour l'entraînement. Prend en charge les types DOUBLE et BIGINT.

Remarque

Le nombre de colonnes de caractéristiques ne doit pas dépasser 800.

Colonne d'étiquette

Prend en charge les types DOUBLE et BIGINT.

Colonne de groupe

Prend en charge les types DOUBLE et BIGINT. Par défaut, l'intégralité de la table est traitée comme un seul groupe.

Configuration des paramètres

Type de fonction de perte

Les types pris en charge sont gbrank loss, lambdamart dcg loss, lambdamart ndcg loss et regression loss.

Paramètre Tau dans gbrank loss

La valeur doit être comprise entre [0,1].

Base de l'exposant dans gbrank et regression loss

La valeur doit être comprise entre [1,10].

Type de métrique

Les types pris en charge sont NDCG et DCG.

Nombre d'arbres

La valeur doit être comprise entre 1 et 10000.

Taux d'apprentissage

La valeur doit être comprise entre (0,1).

Nombre maximal de nœuds feuilles

La valeur doit être comprise entre 1 et 1000.

Profondeur maximale d'un arbre

La valeur doit être comprise entre 1 et 11.

Nombre minimal d'échantillons sur un nœud feuille

La valeur doit être comprise entre 1 et 1000.

Taux d'échantillonnage des échantillons

La valeur doit être comprise entre (0,1).

Taux d'échantillonnage des caractéristiques pendant l'entraînement

La valeur doit être comprise entre (0,1).

Ratio d'échantillons de test

La valeur doit être comprise entre [0,1).

Graine pour le générateur de nombres aléatoires

La valeur doit être comprise entre [0,10].

Utiliser la méthode de Newton pour l'apprentissage

Indique s'il faut utiliser la méthode de Newton.

Nombre maximal de scissions pour une caractéristique

La valeur doit être comprise entre 1 et 1000.

Optimisation de l'exécution

Nombre de cœurs de calcul

Le système alloue automatiquement le nombre d'instances d'entraînement en fonction du volume des données d'entrée.

Mémoire par cœur

Le système alloue automatiquement la mémoire en fonction du volume des données d'entrée. L'unité est le Mo.

Méthode 2 : Utiliser les commandes PAI

Utilisez les commandes PAI pour configurer les paramètres du composant GBDT Regression. Vous pouvez utiliser le composant SQL Script pour appeler les commandes PAI. Pour plus d'informations, consultez SQL Script.

PAI -name gbdt
    -project algo_public
    -DfeatureSplitValueMaxSize="500"
    -DlossType="0"
    -DrandSeed="0"
    -DnewtonStep="0"
    -Dshrinkage="0.05"
    -DmaxLeafCount="32"
    -DlabelColName="campaign"
    -DinputTableName="bank_data_partition"
    -DminLeafSampleCount="500"
    -DsampleRatio="0.6"
    -DgroupIDColName="age"
    -DmaxDepth="11"
    -DmodelName="xlab_m_GBDT_83602"
    -DmetricType="2"
    -DfeatureRatio="0.6"
    -DinputTablePartitions="pt=20150501"
    -Dtau="0.6"
    -Dp="1"
    -DtestRatio="0.0"
    -DfeatureColNames="previous,cons_conf_idx,euribor3m"
    -DtreeCount="500"

Paramètre

Obligatoire

Valeur par défaut

Description

inputTableName

Oui

Aucune

Nom de la table d'entrée.

featureColNames

Non

Toutes les colonnes numériques

Noms des colonnes de caractéristiques de la table d'entrée utilisées pour l'entraînement. Prend en charge les types DOUBLE et BIGINT.

labelColName

Oui

Aucune

Nom de la colonne d'étiquette de la table d'entrée. Prend en charge les types DOUBLE et BIGINT.

inputTablePartitions

Non

Toutes les partitions

Partitions de la table d'entrée utilisées pour l'entraînement. Les formats suivants sont pris en charge :

  • Partition_name=value

  • name1=value1/name2=value2 : partitions multiniveaux

Remarque

Séparez plusieurs partitions par des virgules (,).

modelName

Oui

Aucune

Nom du modèle de sortie.

outputImportanceTableName

Non

Aucune

Nom de la table de sortie pour l'importance des caractéristiques.

groupIDColName

Non

Table complète

Colonne de regroupement des données.

lossType

Non

0

Fonction de perte. Les types suivants sont pris en charge :

  • 0 : GBRANK

  • 1 : LAMBDAMART_DCG

  • 2 : LAMBDAMART_NDCG

  • 3 : LEAST_SQUARE

metricType

Non

0

Les types incluent les éléments suivants :

  • 0 : NDCG (Normalized Discounted Cumulative Gain)

  • 1 : DCG (Discounted Cumulative Gain)

  • 2 : AUC. Ce type s'applique uniquement lorsque la valeur de label est 0/1. Ce type est obsolète.

treeCount

Non

500

Nombre d'arbres. La valeur doit être comprise entre 1 et 10000.

shrinkage

Non

0.05

Taux d'apprentissage. La valeur doit être comprise entre (0,1).

maxLeafCount

Non

32

Nombre maximal de nœuds feuilles. La valeur doit être comprise entre 1 et 1000.

maxDepth

Non

10

Profondeur maximale d'un arbre. La valeur doit être comprise entre 1 et 11.

minLeafSampleCount

Non

500

Nombre minimal d'échantillons sur un nœud feuille. La valeur doit être comprise entre 1 et 1000.

sampleRatio

Non

0.6

Taux d'échantillonnage des échantillons pendant l'entraînement. La valeur doit être comprise entre (0,1).

featureRatio

Non

0.6

Taux d'échantillonnage des caractéristiques pendant l'entraînement. La valeur doit être comprise entre (0,1).

tau

Non

0.6

Paramètre Tau dans GBRank Loss. La valeur doit être comprise entre [0,1].

p

Non

1

Paramètre p dans GBRank Loss. La valeur doit être comprise entre [1,10].

randSeed

Non

0

Graine pour le générateur de nombres aléatoires. La valeur doit être comprise entre [0,10].

newtonStep

Non

1

Indique s'il faut utiliser la méthode d'itération de Newton. La valeur peut être {0,1}.

featureSplitValueMaxSize

Non

500

Nombre maximal de scissions pour une caractéristique. La valeur doit être comprise entre 1 et 1000.

lifecycle

Non

Aucune

Cycle de vie de la table de sortie.

Exemple

  1. Utilisez une instruction SQL pour générer des données de test.

    drop table if exists gbdt_ls_test_input;
    create table gbdt_ls_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(1 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
        union all
            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
    ) a;

    La table de données de test générée gbdt_ls_test_input se présente comme suit.

    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

  2. Soumettez les paramètres d'entraînement du composant GBDT Regression à l'aide d'une commande PAI.

    drop offlinemodel if exists gbdt_ls_test_model;
    PAI -name gbdt
        -project algo_public
        -DfeatureSplitValueMaxSize="500"
        -DlossType="3"
        -DrandSeed="0"
        -DnewtonStep="1"
        -Dshrinkage="0.5"
        -DmaxLeafCount="32"
        -DlabelColName="label"
        -DinputTableName="gbdt_ls_test_input"
        -DminLeafSampleCount="1"
        -DsampleRatio="1"
        -DmaxDepth="10"
        -DmetricType="0"
        -DmodelName="gbdt_ls_test_model"
        -DfeatureRatio="1"
        -Dp="1"
        -Dtau="0.6"
        -DtestRatio="0"
        -DfeatureColNames="f0,f1,f2,f3"
        -DtreeCount="10"
  3. Soumettez les paramètres du composant Prediction à l'aide d'une commande PAI.

    drop table if exists gbdt_ls_test_prediction_result;
    PAI -name prediction
        -project algo_public
        -DdetailColName="prediction_detail"
        -DmodelName="gbdt_ls_test_model"
        -DitemDelimiter=","
        -DresultColName="prediction_result"
        -Dlifecycle="28"
        -DoutputTableName="gbdt_ls_test_prediction_result"
        -DscoreColName="prediction_score"
        -DkvDelimiter=":"
        -DinputTableName="gbdt_ls_test_input"
        -DenableSparse="false"
        -DappendColNames="label"
  4. Consultez la table des résultats de prédiction gbdt_ls_test_prediction_result.

    label

    prediction_result

    prediction_score

    prediction_detail

    0

    NULL

    0,0

    {“label”: 0}

    0

    NULL

    0,0

    {“label”: 0}

    1

    NULL

    0,9990234375

    {“label”: 0,9990234375}

    1

    NULL

    0,9990234375

    {“label”: 0,9990234375}

    0

    NULL

    0,0

    {“label”: 0}

    0

    NULL

    0,0

    {“label”: 0}