すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:PS-SMART 多クラス分類

最終更新日:Sep 10, 2026

PS-SMART は、GBDT ベースのアルゴリズムを使用して多クラス分類モデルをトレーニングします。このアルゴリズムは、数十億のサンプルと数千のノードまでスケールします。

制限事項

  • ターゲット列は数値型のみを受け入れます。トレーニングの前に、MaxCompute テーブルの STRING 型データを変換する必要があります。例: Good/Medium/Bad を 0/1/2 に変換します。

  • KV 形式のデータの場合、特徴 ID は正の整数、特徴値は実数である必要があります。シリアライズコンポーネントを使用して、文字列型の特徴 ID を変換します。カテゴリカルな文字列値には、特徴量エンジニアリング (離散化など) を適用します。

  • このコンポーネントは数十万の特徴量を処理できますが、大量のリソースを消費し、実行速度が遅くなります。GBDT アルゴリズムは、連続値を持つ特徴量で最も高いパフォーマンスを発揮します。低頻度の特徴量をフィルタリングするために、カテゴリカルな特徴量に one-hot エンコーディングを適用します。連続値を持つ特徴量の離散化は避けてください。

  • PS-SMART は、データサンプリング (data_sample_ratio)、特徴サンプリング (fea_sample_ratio)、ヒストグラム近似、およびスケッチのマージ順序によってランダム性を導入します。ツリー構造は分散ワーカー間で異なる場合がありますが、モデルのパフォーマンスはほぼ同等です。同じデータとパラメーターを使用しても、実行ごとに結果が一致しない場合があります。

  • [コンピューティングコア] を増やすと、トレーニングが高速化されます。トレーニングは、すべてのサーバーが必要なリソースを取得した後にのみ開始されます。クラスターの輻輳時にリソースをさらに要求すると、待機時間が長くなります。

コンポーネントの設定

方法 1:GUI の使用

Designer のワークフローに [PS-SMART 多クラス分類] を追加し、パラメーターを設定します。

パラメータータイプ

パラメーター

説明

フィールド設定

スパース形式かどうか

スパース形式は、スペースで KV ペアを区切り、コロンで キー と 値 を区切ります。例: 1:0.3 3:0.9。

特徴列

入力テーブルの特徴量列。密形式の場合は、数値列 (BIGINT または DOUBLE) のみを選択します。キーと値の両方が数値である疎な KV 形式の場合は、STRING 型の列のみを選択します。

ラベル列

入力テーブルのラベル列。STRING 型と数値型を受け入れます。内部ストレージには、0、1、2 のような数値型が必要です。

重み列

各サンプル行の重み列。数値型のみを受け入れます。

パラメーター設定

クラス数

多クラス分類のクラス数。n に設定した場合、ラベル列の値の範囲は 0 から n-1 である必要があります。

評価メトリックタイプ

評価メトリックタイプ:多クラス負の対数尤度と多クラス分類エラー。

ツリー数

ツリーの数 (正の整数)。トレーニング時間は比例して長くなります。

ツリーの最大深度

ツリーの最大深度。値の範囲は 1 から 20 です。デフォルト: 5 (最大 32 のリーフノードを許容)。

データサンプリング率

各ツリーを構築する際にサンプリングされるデータの割合。弱学習器を作成し、トレーニングを高速化します。

特徴サンプリング率

各ツリーを構築する際にサンプリングされる特徴の割合。弱学習器を作成し、トレーニングを高速化します。

L1 ペナルティ係数

L1 ペナルティ係数。リーフノードの重みに対する正則化項です。値が大きいほどモデルの複雑さが抑制され、過学習を防ぎます。

L2 ペナルティ係数

L2 ペナルティ係数。リーフノードの重みに対する正則化項です。値が大きいほどモデルの複雑さが抑制され、過学習を防ぎます。

学習率

学習率。範囲: (0,1)。

概算スケッチ精度

スケッチ構築のための分位点閾値。値が小さいほど、より多くのバケットが作成されます。デフォルト: 0.03。手動での設定は不要です。

最小分割損失変化

ノードを分割するために必要な最小損失減少量。値が大きいほど、より保守的な分割になります。

特徴数

特徴数または最大の特徴 ID。リソースの見積もりに使用されます。

グローバルバイアス

すべてのサンプルの初期予測値。ベーススコアとも呼ばれます。

乱数シード

乱数シード (整数)。

特徴量重要度タイプ

特徴量重要度の計算タイプ:

  • 分割カウント:特徴が分割に使用された回数。

  • 情報利得:特徴から得られた情報量。

  • サンプルカバレッジ:分割ノードで特徴がカバーするサンプル数。

実行チューニング

コア数

コンピューティングコアの数。デフォルトではシステムが自動的に割り当てます。

コアごとのメモリサイズ

コアごとのメモリ (MB)。システムが自動的に割り当てます。手動での設定はほとんど不要です。

方法 2:PAI コマンドの使用

SQL スクリプトコンポーネントから PAI コマンドを呼び出します。詳細については、「シナリオ 4: SQL スクリプトコンポーネントで PAI コマンドを実行する」をご参照ください。

--トレーニング
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"
--予測
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"

モジュール

パラメーター

必須

デフォルト

説明

データパラメーター

featureColNames

はい

None

入力テーブルの特徴列。デンス形式の場合、数値列 (BIGINT または DOUBLE) のみを選択します。キー と 値 の両方が数値であるスパース KV 形式の場合、STRING 列のみを選択します。

labelColName

はい

None

入力テーブルのラベル列。STRING 型と数値型を受け入れます。内部ストレージには数値型が必要です。多クラス分類の場合、値の範囲は 0 から n-1 である必要があります。ここで n はクラス数です。

weightCol

いいえ

None

各サンプル行の重み列。数値型のみを受け入れます。

enableSparse

いいえ

false

データがスパース形式かどうか。値: true または false。スパース形式は、スペースで KV ペアを区切り、コロンで キー と 値 を区切ります。例: 1:0.3 3:0.9。

inputTableName

はい

None

入力テーブルの名前。

modelName

はい

None

出力モデルの名前。

outputImportanceTableName

いいえ

None

特徴量重要度の出力テーブルの名前。

inputTablePartitions

いいえ

None

フォーマット: ds=1/pt=1。

outputTableName

いいえ

None

MaxCompute の出力テーブル。バイナリ形式であり、直接読み取ることはできません。SMART 予測コンポーネントを介してのみアクセス可能です。

lifecycle

いいえ

3

出力テーブルのライフサイクル (日数)。

アルゴリズムパラメーター

classNum

はい

None

多クラス分類のクラス数。n に設定した場合、ラベル列の値の範囲は 0 から n-1 である必要があります。

objective

はい

None

目的関数のタイプ。多クラス分類のトレーニングには、multi:softprob を使用します。

metric

いいえ

None

トレーニングデータセットの評価メトリックタイプ。出力は Logview の Coordinator エリアの stdout に書き込まれます。タイプ:

  • mlogloss:多クラス負の対数尤度 (GUI オプションに対応)。

  • merror:多クラス分類エラー (GUI オプションに対応)。

treeCount

いいえ

1

ツリーの数 (正の整数)。トレーニング時間は比例して長くなります。

maxDepth

いいえ

5

ツリーの最大深度。範囲: 1 から 20。

sampleRatio

いいえ

1.0

データサンプリング率。範囲: (0,1]。値 1.0 はサンプリングを無効にします。

featureRatio

いいえ

1.0

特徴サンプリング率。範囲: (0,1]。値 1.0 はサンプリングを無効にします。

l1

いいえ

0

L1 ペナルティ係数。リーフノードの重みに対する正則化項です。値が大きいほどモデルの複雑さが抑制され、過学習を防ぎます。

l2

いいえ

1.0

L2 ペナルティ係数。リーフノードの重みに対する正則化項です。値が大きいほどモデルの複雑さが抑制され、過学習を防ぎます。

shrinkage

いいえ

0.3

学習率。範囲: (0,1)。

sketchEps

いいえ

0.03

スケッチ構築のための分位点閾値。バケット数: O(1.0/sketchEps)。値が小さいほど、より多くのバケットが作成されます。デフォルト値を使用してください。手動での設定は不要です。範囲: (0,1)。

minSplitLoss

いいえ

0

ノードを分割するために必要な最小損失減少量。値が大きいほど、より保守的な分割になります。

featureNum

いいえ

None

特徴数または最大の特徴 ID。リソースの見積もりに使用されます。

baseScore

いいえ

0.5

すべてのサンプルの初期予測値。グローバルバイアスとも呼ばれます。

randSeed

いいえ

None

乱数シード (整数)。

featureImportanceType

いいえ

gain

特徴量重要度の計算タイプ:

  • weight:特徴が分割に使用された回数。

  • gain:特徴による分割から得られる情報利得の合計。

  • cover:特徴による分割でカバーされるサンプルの合計数。

チューニングパラメーター

coreNum

いいえ

システム割り当て

コンピューティングコアの数。値が大きいほど実行が高速化されます。

memSizePerCore

いいえ

システム割り当て

コアごとのメモリ (MB)。

PS-SMARTモデルのデプロイ手順

PS-SMART コンポーネントによって生成されたモデルをオンラインサービスとしてデプロイするには、PS-SMART コンポーネントのダウンストリームに [General-purpose Model Export] コンポーネントを追加する必要があります。他の PSシリーズコンポーネントと同様に、コンポーネントパラメーターを設定できます。詳細については、「General-purpose Model Export」をご参照ください。

正常な実行後、[PAI-EAS モデルオンラインサービス] ページに移動してモデルサービスをデプロイできます。詳細については、「コンソールでサービスをデプロイする」をご参照ください。