Tous les produits
Search
Centre de documentation

Platform For AI:Classification multiclasse PS-SMART

Dernière mise à jour :Sep 09, 2026

PS-SMART entraîne des modèles de classification multiclasse à l'aide d'un algorithme basé sur GBDT, capable de traiter des milliards d'échantillons et des milliers de nœuds.

Limitations

  • La colonne cible accepte uniquement les types numériques. Convertissez les données STRING des tables MaxCompute avant l'entraînement. Exemple : convertissez Good/Medium/Bad en 0/1/2.

  • Pour les données au format KV, les ID de fonctionnalité doivent être des entiers positifs et les valeurs de fonctionnalité des nombres réels. Convertissez les ID de fonctionnalité sous forme de chaîne à l'aide du composant de sérialisation. Appliquez une ingénierie des fonctionnalités (comme la discrétisation) aux valeurs catégorielles de type chaîne.

  • Le composant gère des centaines de milliers de fonctionnalités, mais consomme beaucoup de ressources et s'exécute lentement. Les algorithmes GBDT offrent de meilleures performances avec des fonctionnalités continues. Appliquez un encodage one-hot aux fonctionnalités catégorielles pour filtrer celles à faible fréquence. Évitez de discrétiser les fonctionnalités continues.

  • PS-SMART introduit de l'aléa via l'échantillonnage des données (data_sample_ratio), l'échantillonnage des fonctionnalités (fea_sample_ratio), l'approximation par histogramme et l'ordre de fusion des sketches. Les structures d'arbres peuvent différer selon les workers distribués, mais les performances du modèle restent similaires. Des données et des paramètres identiques peuvent produire des résultats différents d'une exécution à l'autre.

  • L'augmentation du nombre de computing cores accélère l'entraînement. L'entraînement ne démarre qu'une fois que tous les serveurs ont acquis les ressources nécessaires. Demander plus de ressources lors d'une congestion du cluster augmente le temps d'attente.

Configuration du composant

Méthode 1 : Utiliser l'interface graphique

Ajoutez le composant PS-SMART multiclass classification au workflow Designer et configurez les paramètres :

Type de paramètre

Paramètre

Description

Configuration des champs

Format creux activé

Le format creux utilise des espaces pour séparer les paires KV et des deux-points pour séparer la key et la value. Exemple : 1:0.3 3:0.9.

Colonnes de fonctionnalités

Colonnes de fonctionnalités de la table d'entrée. Pour le format dense, sélectionnez uniquement les colonnes numériques (BIGINT ou DOUBLE). Pour le format KV creux où la key et la value sont numériques, sélectionnez uniquement les colonnes STRING.

Colonne d'étiquette

Colonne d'étiquette de la table d'entrée. Accepte les types STRING et numériques. Le stockage interne requiert des types numériques, tels que 0 et 1 pour la classification binaire.

Colonne de pondération

Colonne de pondération pour chaque ligne d'échantillon. Accepte uniquement les types numériques.

Configuration des paramètres

Nombre de classes

Nombre de classes pour la classification multiclasse. Si défini sur n, les valeurs de la colonne d'étiquette doivent aller de 0 à n-1.

Type de métrique d'évaluation

Types de métriques d'évaluation : vraisemblance logarithmique négative multiclasse et erreur de classification multiclasse.

Nombre d'arbres

Nombre d'arbres (entier positif). Le temps d'entraînement augmente proportionnellement.

Profondeur maximale de l'arbre

Profondeur maximale de l'arbre. Par défaut : 5 (permet jusqu'à 32 nœuds feuilles).

Ratio d'échantillonnage des données

Proportion de données échantillonnées lors de la construction de chaque arbre. Crée des apprenants faibles et accélère l'entraînement.

Ratio d'échantillonnage des fonctionnalités

Proportion de fonctionnalités échantillonnées lors de la construction de chaque arbre. Crée des apprenants faibles et accélère l'entraînement.

Coefficient de pénalité L1

Coefficient de pénalité L1. Contrôle la distribution de la taille des nœuds feuilles. Des valeurs plus élevées produisent une distribution plus uniforme. Augmentez cette valeur pour éviter le surapprentissage.

Coefficient de pénalité L2

Coefficient de pénalité L2. Contrôle la distribution de la taille des nœuds feuilles. Des valeurs plus élevées produisent une distribution plus uniforme. Augmentez cette valeur pour éviter le surapprentissage.

Taux d'apprentissage

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

Précision approximative du sketch

Seuil de quantile pour la construction du sketch. Des valeurs plus petites créent davantage de compartiments. Par défaut : 0,03. Aucune configuration manuelle n'est requise.

Changement minimal de perte de division

Réduction minimale de la perte requise pour diviser un nœud. Des valeurs plus élevées produisent des divisions plus conservatrices.

Nombre de fonctionnalités

Nombre de fonctionnalités ou ID de fonctionnalité maximal. Utilisé pour l'estimation des ressources.

Biais global

Valeur de prédiction initiale pour tous les échantillons. Également appelée score de base.

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

Graine aléatoire (entier).

Type d'importance des fonctionnalités

Types de calcul de l'importance des fonctionnalités :

  • Nombre de divisions : nombre de fois où la fonctionnalité est utilisée pour la division.

  • Gain d'information : information obtenue grâce à la fonctionnalité.

  • Couverture des échantillons : nombre d'échantillons couverts par la fonctionnalité aux nœuds de division.

Optimisation de l'exécution

Nombre de cœurs

Nombre de cœurs de calcul. Le système alloue automatiquement les ressources par défaut.

Taille de la mémoire par cœur

Mémoire par cœur (Mo). Le système alloue automatiquement les ressources. Une configuration manuelle est rarement nécessaire.

Méthode 2 : Utiliser les commandes PAI

Appelez les commandes PAI depuis un composant de script SQL. Pour plus de détails, consultez Scénario 4 : Exécuter des commandes PAI dans un composant de script SQL.

--Train
PAI -name ps_smart
    -project algo_public
    -DinputTableName="smart_multiclass_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="multi:softprob"
    -Dmetric="mlogloss"
    -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_multiclass_input";
    -DmodelName="xlab_m_pai_ps_smart_bi_545859_v0"
    -DoutputTableName="pai_temp_24515_545860_1"
    -DfeatureColNames="features"
    -DappendColNames="label,features"
    -DenableSparse="true"
    -DkvDelimiter=":"
    -Dlifecycle="28"

Module

Paramètre

Obligatoire

Valeur par défaut

Description

Paramètres de données

featureColNames

Oui

Aucune

Colonnes de fonctionnalités de la table d'entrée. Pour le format dense, sélectionnez uniquement les colonnes numériques (BIGINT ou DOUBLE). Pour le format KV creux où la key et la value sont numériques, sélectionnez uniquement les colonnes STRING.

labelColName

Oui

Aucune

Colonne d'étiquette de la table d'entrée. Accepte les types STRING et numériques. Le stockage interne requiert des types numériques. Pour la classification multiclasse, les valeurs doivent aller de 0 à n-1, où n représente le nombre de classes.

weightCol

Non

Aucune

Colonne de pondération pour chaque ligne d'échantillon. Accepte uniquement les types numériques.

enableSparse

Non

false

Indique si les données sont au format creux. Valeurs : true ou false. Le format creux utilise des espaces pour séparer les paires KV et des deux-points pour séparer la key et la value. Exemple : 1:0.3 3:0.9.

inputTableName

Oui

Aucune

Nom de la table d'entrée.

modelName

Oui

Aucune

Nom du modèle de sortie.

outputImportanceTableName

Non

Aucune

Nom de la table de sortie pour l'importance des fonctionnalités.

inputTablePartitions

Non

Aucune

Format : ds=1/pt=1.

outputTableName

Non

Aucune

Table de sortie dans MaxCompute. Format binaire, non directement lisible. Accessible uniquement via le composant de prédiction SMART.

lifecycle

Non

3

Cycle de vie de la table de sortie (en jours).

Paramètres d'algorithme

classNum

Oui

Aucune

Nombre de classes pour la classification multiclasse. Si défini sur n, les valeurs de la colonne d'étiquette doivent aller de 0 à n-1.

objective

Oui

Aucune

Type de fonction objectif. Pour l'entraînement de classification multiclasse, utilisez multi:softprob.

metric

Non

Aucune

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

  • mlogloss : vraisemblance logarithmique négative multiclasse (correspond à l'option de l'interface graphique).

  • merror : erreur de classification multiclasse (correspond à l'option de l'interface graphique).

treeCount

Non

1

Nombre d'arbres (entier positif). Le temps d'entraînement augmente proportionnellement.

maxDepth

Non

5

Profondeur maximale de l'arbre. Plage : 1 à 20.

sampleRatio

Non

1.0

Ratio d'échantillonnage des données. Plage : (0,1]. La valeur 1,0 désactive l'échantillonnage.

featureRatio

Non

1.0

Ratio d'échantillonnage des fonctionnalités. Plage : (0,1]. La valeur 1,0 désactive l'é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 éviter 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 éviter le surapprentissage.

shrinkage

Non

0.3

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

sketchEps

Non

0.03

Seuil de quantile pour la construction du sketch. Nombre de compartiments : O(1,0/sketchEps). Des valeurs plus petites créent davantage de compartiments. Utilisez la valeur par défaut. Aucune configuration manuelle n'est requise. Plage : (0,1).

minSplitLoss

Non

0

Réduction minimale de la perte requise pour diviser un nœud. Des valeurs plus élevées produisent des divisions plus conservatrices.

featureNum

Non

Aucune

Nombre de fonctionnalités ou ID de fonctionnalité maximal. Utilisé pour l'estimation des ressources.

baseScore

Non

0.5

Valeur de prédiction initiale pour tous les échantillons. Également appelée biais global.

randSeed

Non

Aucune

Graine aléatoire (entier).

featureImportanceType

Non

gain

Types de calcul de l'importance des fonctionnalités :

  • weight : nombre de divisions - nombre de fois où la fonctionnalité est utilisée pour la division.

  • gain : gain d'information obtenu grâce à la fonctionnalité.

  • cover : couverture des échantillons - nombre d'échantillons couverts par la fonctionnalité aux nœuds de division.

Paramètres d'optimisation

coreNum

Non

Alloué par le système

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

memSizePerCore

Non

Alloué par le système

Mémoire par cœur en Mo.

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 Exportation de modèle polyvalente.

Une fois l'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.