Tous les produits
Search
Centre de documentation

Platform For AI:PS-SMART binary classification training

Dernière mise à jour :Aug 10, 2026

Entraînez des modèles de classification binaire à l'aide de l'algorithme PS-SMART pour les ensembles de données à grande échelle contenant des milliards d'échantillons et de caractéristiques.

Limites

Prend uniquement en charge le moteur de calcul MaxCompute.

Prérequis

  • La colonne cible doit contenir des valeurs numériques : 0 pour les échantillons négatifs, 1 pour les échantillons positifs. Convertissez les types STRING avant l'entraînement. Exemple : convertissez Good/Bad en 1/0.

  • Pour les données au format clé-valeur (KV), les ID de caractéristique doivent être des entiers positifs et les valeurs de caractéristique doivent être des nombres réels. Utilisez le composant de sérialisation pour convertir les ID de caractéristique STRING. Appliquez une ingénierie des caractéristiques (comme la discrétisation) pour les valeurs de chaîne catégorielles.

  • L'entraînement avec des centaines de milliers de caractéristiques est gourmand en ressources et lent. Pour de meilleures performances, utilisez des algorithmes similaires à GBDT qui s'entraînent directement sur des caractéristiques continues. Appliquez un encodage One-Hot aux caractéristiques catégorielles et filtrez les caractéristiques à faible fréquence. Évitez de discrétiser les caractéristiques numériques continues.

  • L'algorithme PS-SMART introduit de l'aléatoire par le biais de l'échantillonnage des données (data_sample_ratio), de l'échantillonnage des caractéristiques (fea_sample_ratio), de l'approximation par histogramme et de l'ordre de fusion des sketches. Les structures arborescentes peuvent différer selon les workers distribués. Les performances du modèle restent similaires. Attendez-vous à des résultats incohérents lors de différentes exécutions avec les mêmes données et paramètres.

  • Augmentez le number of computing cores pour accélérer l'entraînement. L'entraînement démarre une fois que tous les serveurs ont obtenu les ressources requises. Demander davantage de ressources lors d'une utilisation élevée du cluster peut augmenter le temps d'attente.

Instructions

Configuration

Configurez le composant PS-SMART Binary Classification en utilisant l'une des méthodes suivantes.

Configure through UI

Configurez les paramètres du composant sur la page de workflow Designer.

Onglet

Paramètre

Description

Fields Setting

Use Sparse Format

Le format creux utilise des espaces pour séparer les paires KV et deux-points (:) pour séparer la clé de la valeur. Exemple : 1:0.3 3:0.9.

Feature Columns

Colonnes de caractéristiques de la table d'entrée pour l'entraînement. Pour le format dense, sélectionnez uniquement les colonnes numériques (BIGINT ou DOUBLE). Pour le format KV creux avec une clé et une valeur numériques, sélectionnez uniquement les colonnes STRING.

Label Column

Colonne d'étiquette de la table d'entrée. Prend en charge les types STRING et numériques. Le contenu doit être constitué de valeurs numériques (0 et 1 pour la classification binaire).

Weight Column

Colonne utilisée pour pondérer les lignes d'échantillon. Prend en charge les types numériques.

Parameter Settings

Evaluation Metric Type

Types de métriques d'évaluation :

  • Negative loglikelihood for logistic regression

  • Binary classification error

  • Area under curve for classification

Number of Trees

Nombre d'arbres. Doit être un entier positif. Le temps d'entraînement augmente avec le nombre d'arbres.

Maximum Tree Depth

Profondeur maximale de l'arbre. Par défaut : 5 (maximum 16 nœuds feuilles). Doit être un entier positif.

Data Sampling Ratio

Portion d'échantillon de données lors de la construction de chaque arbre. Accélère l'entraînement.

Feature Sampling Ratio

Portion d'échantillon de caractéristiques lors de la construction de chaque arbre. Accélère l'entraînement.

L1 Penalty Coefficient

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

L2 Penalty Coefficient

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

Learning Rate

Plage de valeurs : (0,1).

Approximate Sketch Precision

Seuil de quantile pour la division lors de la construction du sketch. Des valeurs plus petites créent plus de compartiments. Valeur par défaut : 0.03. Aucune configuration manuelle n'est requise.

Minimum Split Loss Change

Changement de perte minimal requis pour diviser un nœud. Des valeurs plus élevées entraînent une division plus conservative.

Number of Features

Nombre de caractéristiques ou ID de caractéristique maximal. Si non configuré, le système démarre une tâche SQL pour calculer automatiquement lors de l'estimation de l'utilisation des ressources.

Global Bias Term

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

Random Number Generator Seed

Graine de nombre aléatoire. Doit être un entier.

Feature Importance Type

Types d'importance des caractéristiques :

  • 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 the split node in the model

Execution Tuning

Number of Computing Cores

Le système alloue automatiquement les cœurs.

Memory Size per Core

Mémoire par cœur en Mo. La configuration manuelle n'est généralement pas requise. Le système alloue la mémoire automatiquement.

Configure through PAI commands

Utilisez les commandes Platform for AI (PAI) pour configurer les paramètres des composants. Le composant Script SQL permet d'appeler ces commandes PAI. Pour plus d'informations, consultez la rubrique Script SQL.

# Train.
PAI -name ps_smart
    -project algo_public
    -DinputTableName="smart_binary_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="f0,f1,f2,f3,f4,f5"
    -DenableSparse="false"
    -Dobjective="binary:logistic"
    -Dmetric="error"
    -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";

# Predict.
PAI -name prediction
    -project algo_public
    -DinputTableName="smart_binary_input"
    -DmodelName="xlab_m_pai_ps_smart_bi_545859_v0"
    -DoutputTableName="pai_temp_24515_545860_1"
    -DfeatureColNames="f0,f1,f2,f3,f4,f5"
    -DappendColNames="label,qid,f0,f1,f2,f3,f4,f5"
    -DenableSparse="false"
    -Dlifecycle="28";

Module

Paramètre

Obligatoire

Description

Valeur par défaut

Paramètres de données

featureColNames

Oui

Colonnes de caractéristiques issues de la table d'entrée pour l'entraînement. Pour le format dense, sélectionnez uniquement les colonnes numériques (BIGINT ou DOUBLE). Pour le format KV clairsemé avec une key et une value numériques, sélectionnez uniquement les colonnes STRING.

Aucune

labelColName

Oui

Colonne d'étiquette de la table d'entrée. Prend en charge les types STRING et numériques. Pour le stockage interne, seuls les types numériques sont pris en charge (exemple : 0 et 1 pour la classification binaire).

Aucune

weightCol

Non

Colonne utilisée pour pondérer chaque ligne d'échantillon. Prend en charge les types numériques.

Aucune

enableSparse

Non

Indique si le format est clairsemé. Valeurs valides : {true,false}. Le format clairsemé utilise des espaces pour séparer les paires KV et des deux-points (:) pour séparer la key de la value. Exemple : 1:0.3 3:0.9.

false

inputTableName

Oui

Nom de la table d'entrée.

Aucune

modelName

Oui

Nom du modèle de sortie.

Aucune

outputImportanceTableName

Non

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

Aucune

inputTablePartitions

Non

Le format est ds=1/pt=1.

Aucune

outputTableName

Non

Table de sortie dans MaxCompute. La table est au format binaire et ne peut pas être lue. Récupérez-la uniquement via le composant de prédiction SMART.

Aucune

lifecycle

Non

Durée de vie de la table de sortie en jours.

3

Paramètres d'algorithme

objective

Oui

Type de fonction objective. Pour l'entraînement de classification binaire, sélectionnez binary:logistic.

Aucune

metric

Non

Type de métrique d'évaluation pour l'ensemble de données d'entraînement. La sortie est écrite dans le fichier stdout dans la section Coordinator de Logview. Types pris en charge :

  • logloss : Correspond à negative loglikelihood for logistic regression dans l'interface utilisateur.

  • error : Correspond à binary classification error dans l'interface utilisateur.

  • auc : Correspond à Area under curve for classification dans l'interface utilisateur.

Aucune

treeCount

Non

Nombre d'arbres. Le temps d'entraînement est proportionnel au nombre d'arbres.

1

maxDepth

Non

Profondeur maximale de l'arbre. Doit être un entier positif compris entre 1 et 20.

5

sampleRatio

Non

Ratio d'échantillonnage des données. Plage de valeurs : (0,1]. La valeur 1.0 signifie qu'aucun échantillonnage n'est effectué.

1.0

featureRatio

Non

Ratio d'échantillonnage des caractéristiques. Plage de valeurs : (0,1]. La valeur 1.0 signifie qu'aucun échantillonnage n'est effectué.

1.0

l1

Non

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

0

l2

Non

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

1.0

shrinkage

Non

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

0.3

sketchEps

Non

Seuil de quantile pour la division lors de la construction du sketch. Nombre de compartiments : O(1.0/sketchEps). Des valeurs plus petites créent plus de compartiments. Une configuration manuelle n'est généralement pas nécessaire. Plage de valeurs : (0,1).

0.03

minSplitLoss

Non

Changement de perte minimal requis pour diviser un nœud. Des valeurs plus élevées entraînent des divisions plus conservatrices.

0

featureNum

Non

Nombre de caractéristiques ou ID de caractéristique maximal. Si ce paramètre n'est pas configuré lors de l'estimation de l'utilisation des ressources, le système démarre une tâche SQL pour le calculer automatiquement.

Aucune

baseScore

Non

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

0.5

randSeed

Non

Graine de nombre aléatoire. Doit être un entier.

Aucune

featureImportanceType

Non

Type d'importance des caractéristiques à calculer. Types pris en charge :

  • weight : Nombre de fois où la caractéristique est utilisée comme caractéristique de division dans le modèle.

  • gain : Gain d'information apporté par la caractéristique dans le modèle.

  • cover : Nombre d'échantillons couverts par la caractéristique aux nœuds de division dans le modèle.

gain

Paramètres de réglage

coreNum

Non

Nombre de cœurs. Des valeurs plus élevées augmentent la vitesse de l'algorithme.

Attribué par le système

memSizePerCore

Non

Mémoire par cœur en Mo.

Attribué par le système

Exemple

  1. Exécutez une instruction SQL générant des données d'entraînement à l'aide du nœud ODPS SQL. Cet exemple utilise des données au format dense.

    drop table if exists smart_binary_input;
    create table smart_binary_input lifecycle 3 as
    select
    *
    from
    (
    select 0.72 as f0, 0.42 as f1, 0.55 as f2, -0.09 as f3, 1.79 as f4, -1.2 as f5, 0 as label
    union all
    select 1.23 as f0, -0.33 as f1, -1.55 as f2, 0.92 as f3, -0.04 as f4, -0.1 as f5, 1 as label
    union all
    select -0.2 as f0, -0.55 as f1, -1.28 as f2, 0.48 as f3, -1.7 as f4, 1.13 as f5, 1 as label
    union all
    select 1.24 as f0, -0.68 as f1, 1.82 as f2, 1.57 as f3, 1.18 as f4, 0.2 as f5, 0 as label
    union all
    select -0.85 as f0, 0.19 as f1, -0.06 as f2, -0.55 as f3, 0.31 as f4, 0.08 as f5, 1 as label
    union all
    select 0.58 as f0, -1.39 as f1, 0.05 as f2, 2.18 as f3, -0.02 as f4, 1.71 as f5, 0 as label
    union all
    select -0.48 as f0, 0.79 as f1, 2.52 as f2, -1.19 as f3, 0.9 as f4, -1.04 as f5, 1 as label
    union all
    select 1.02 as f0, -0.88 as f1, 0.82 as f2, 1.82 as f3, 1.55 as f4, 0.53 as f5, 0 as label
    union all
    select 1.19 as f0, -1.18 as f1, -1.1 as f2, 2.26 as f3, 1.22 as f4, 0.92 as f5, 0 as label
    union all
    select -2.78 as f0, 2.33 as f1, 1.18 as f2, -4.5 as f3, -1.31 as f4, -1.8 as f5, 1 as label
    ) tmp;

    Données d'entraînement générées :

    image

  2. Créez le flux de travail et exécutez les composants. Pour plus d'informations, consultez la rubrique Modélisation algorithmique.

    image

    1. Recherchez les composants Read Table, PS-SMART Binary Classification Training, Prediction et Write Table dans la liste des composants située à gauche du canevas du Designer, puis faites-les glisser vers le canevas.

    2. Reliez les composants pour construire le flux de travail avec des relations amont et aval.

    3. Configurez les paramètres des composants.

      • Sur le canevas, cliquez sur le composant Read Table-1. Dans l'onglet Select Table du volet droit, définissez le paramètre Table Name sur smart_binary_input.

      • Sur le canevas, cliquez sur le composant PS-SMART Binary Classification Training-1. Dans le volet droit, configurez les paramètres comme indiqué ci-dessous. Conservez les valeurs par défaut pour les autres paramètres.

        Onglet

        Paramètre

        Description

        Fields Setting

        Feature Columns

        Sélectionnez les colonnes f0, f1, f2, f3, f4 et f5.

        Label Column

        Sélectionnez la colonne label.

        Parameter Settings

        Evaluation Metric Type

        Sélectionnez l'option Area under curve for classification.

        Number of Trees

        Saisissez la valeur 5.

      • Sur le canevas, cliquez sur le composant Prediction-1. Dans l'onglet Fields Setting du volet droit, définissez le paramètre Reserved Columns sur Select All. Conservez les valeurs par défaut pour les autres paramètres.

      • Sur le canevas, cliquez sur le composant Write Table-1. Dans l'onglet Select Table du volet droit, définissez le paramètre Output Table Name sur smart_binary_output.

    4. Une fois les paramètres configurés, cliquez sur le bouton Exécuter image pour lancer le flux de travail.

  3. Cliquez avec le bouton droit de la souris sur le composant Prediction-1 et sélectionnez View Data > Prediction Result pour afficher le résultat de la prédiction.

    image

    Dans la colonne prediction_detail, la valeur 1 représente les échantillons positifs et la valeur 0 représente les échantillons négatifs.

  4. Cliquez avec le bouton droit de la souris sur le composant PS-SMART Binary Classification Training-1 et sélectionnez View Data > Output Feature Importance Table pour afficher le tableau d'importance des caractéristiques.

    image

    Paramètres :

    • id : Numéro ordinal de la caractéristique d'entrée. Dans cet exemple, les caractéristiques d'entrée sont f0, f1, f2, f3, f4 et f5. La valeur 0 dans la colonne id correspond à la colonne de caractéristique f0. La valeur 4 correspond à la colonne de caractéristique f4. Pour les données d'entrée au format clé-valeur (KV), la colonne id représente la key.

    • value : Type d'importance de la caractéristique. Valeur par défaut : gain, qui correspond à la somme du gain d'information apporté par la caractéristique au modèle.

    • Le tableau d'importance des caractéristiques ne contient que trois caractéristiques. Seules ces trois caractéristiques sont utilisées lors du processus de division des arbres. Les autres caractéristiques ont une importance nulle.

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 la rubrique Exportation de modèle polyvalent.

Une fois l'exécution terminée avec succès, déployez le service de modèle sur la page PAI-EAS Model Online Service. Pour plus d'informations, consultez la rubrique Déployer un service dans la console.

Informations connexes

  • Pour plus d'informations sur les composants du Designer, consultez la rubrique Présentation du Designer.

  • Le Designer propose une variété de composants algorithmiques. Sélectionnez les composants appropriés pour le traitement des données en fonction de votre scénario. Pour plus d'informations, consultez la rubrique Référence des composants : Tous les composants.