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

Platform For AI:マルチクラス分類のロジスティック回帰

最終更新日:Jul 22, 2024

一般的なロジスティック回帰アルゴリズムは、バイナリ分類に使用されます。 Machine Learning Platform for AI (PAI) では、マルチクラス分類にロジスティック回帰アルゴリズムを使用できます。 マルチクラス分類のロジスティック回帰コンポーネントは、スパースデータ形式と密データ形式の両方をサポートします。

コンポーネントの設定

次のいずれかの方法を使用して、マルチクラス分類コンポーネントのロジスティック回帰を設定できます。

方法1: パイプラインページでコンポーネントを設定する

Machine Learning Platform for AI (PAI) のMachine Learning Designerのパイプラインページで、マルチクラス分類コンポーネントのロジスティック回帰のパラメーターを設定できます。 Machine Learning Designerは、以前はMachine Learning Studioとして知られていました。 下表に、各パラメーターを説明します。

タブ

パラメーター

説明

フィールド設定

トレーニング機能列

トレーニング用にデータソースから選択されたフィーチャ列。 DOUBLE型とBIGINT型の列がサポートされています。

説明

最大2,000万の機能がサポートされています。

ターゲット列

入力テーブルの対象列。

スパース形式

入力データがスパース形式かどうかを指定します。

パラメーター設定

正則化タイプ

有効な値: L1L2、およびNone

最大イテレーション数

反復の最大数。 デフォルト値:100

正則化係数

正則化タイプパラメーターが [なし] に設定されている場合、このパラメーターは無効です。

最小収束偏差

最小収束偏差。 デフォルト値: 0.000001

方法2: PAIコマンドを使用する

PAIコマンドを使用してコンポーネントパラメータを設定します。 SQLスクリプトコンポーネントを使用してPAIコマンドを呼び出すことができます。 詳細については、「SQLスクリプト」をご参照ください。

PAI -name logisticregression_multi
    -project algo_public
    -DmodelName="xlab_m_logistic_regression_6096"
    -DregularizedLevel="1"
    -DmaxIter="100"
    -DregularizedType="l1"
    -Depsilon="0.000001"
    -DlabelColName="y"
    -DfeatureColNames="pdays,emp_var_rate"
    -DgoodValue="1"
    -DinputTableName="bank_data"

パラメーター

必須

説明

デフォルト値

inputTableName

入力テーブルの名前。

N/A

featureColNames

不可

トレーニング用に入力テーブルから選択されたフィーチャ列。

説明

最大2,000万の機能がサポートされています。

数値データ型のすべての列

labelColName

入力テーブルから選択されたラベル列の名前。

N/A

inputTablePartitions

不可

トレーニング用に入力テーブルから選択されたパーティション。 このパラメーターを次のいずれかの形式で指定します。

  • partition_name=value

  • name1=value1/name2=value2: マルチレベルパーティション

説明

複数のパーティションを指定する場合は、コンマ (,) で区切ります。

フルテーブル

modelName

出力モデルの名前。

N/A

regularizedType

不可

正則化タイプ。 有効な値: l1、l2、およびNone

l1

regularizedLevel

不可

正則化係数。 regularizedTypeパラメーターがNoneに設定されている場合、このパラメーターは無効です。

1.0

maxIter

不可

制限メモリBFGS (L-BFGS) アルゴリズムの最大反復回数。

100

イプシロン

不可

収束エラー。 このパラメータは、L-BFGSアルゴリズムを終了する条件を指定します。 2つの反復間の対数尤度の差がこのパラメータで指定された値より小さい場合、L-BFGSアルゴリズムの反復は終了する。

1.0e-06

enableSparse

不可

入力データがスパース形式かどうかを指定します。 有効な値: trueとfalse

false

itemDelimiter

不可

入力データのデータがスパース形式の場合にキーと値のペアを区切るために使用される区切り文字。

,

kvDelimiter

不可

入力テーブルのデータがスパース形式の場合にkeyvalueを区切るために使用される区切り文字。

:

coreNum

不可

コアの数。

システムによって決定される

memSizePerCore

不可

各コアのメモリサイズ。 単位:MB。

システムによって決定される

例:

  1. 次のSQL文を実行してトレーニングデータを生成します。

    drop table if exists multi_lr_test_input;
    create table multi_lr_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(2 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
    ) a;

    次の表は、multi_lr_test_inputテーブルで生成されたトレーニングデータを示しています。

    f0

    f1

    f2

    f3

    ラベル

    1.0

    0.0

    0.0

    0.0

    0

    0.0

    0.0

    1.0

    0.0

    2

    0.0

    0.0

    0.0

    1.0

    1

    0.0

    1.0

    0.0

    0.0

    0

  2. 次のPAIコマンドを実行して、マルチクラス分類コンポーネントのロジスティック回帰のパラメーターを送信します。

    multi_lr_test_modelが存在する場合は、オフラインモデルを削除し

    drop offlinemodel if exists multi_lr_test_model;
    PAI -name logisticregression_multi
        -project algo_public
        -DmodelName="multi_lr_test_model"
        -DitemDelimiter=","
        -DregularizedLevel="1"
        -DmaxIter="100"
        -DregularizedType="None"
        -Depsilon="0.000001"
        -DkvDelimiter=":"
        -DlabelColName="label"
        -DfeatureColNames="f0,f1,f2,f3"
        -DenableSparse="false"
        -DinputTableName="multi_lr_test_input";
  3. 次のPAIコマンドを実行して、予測コンポーネントのパラメーターを送信します。

    drop table if exists multi_lr_test_prediction_result;
    PAI -name prediction
        -project algo_public
        -DdetailColName="prediction_detail"
        -DmodelName="multi_lr_test_model"
        -DitemDelimiter=","
        -DresultColName="prediction_result"
        -Dlifecycle="28"
        -DoutputTableName="multi_lr_test_prediction_result"
        -DscoreColName="prediction_score"
        -DkvDelimiter=":"
        -DinputTableName="multi_lr_test_input"
        -DenableSparse="false"
        -DappendColNames="label";
  4. multi_lr_test_prediction_resultテーブルを表示します。

    ラベル

    prediction_result

    prediction_score

    予測_詳細

    0

    0

    0.9999997274902165

    {"0": 0.9999997274902165, "1": 2.324679066261573e-07, "2": 2.324679066261569e-07}

    0

    0

    0.9999997274902165

    {"0": 0.9999997274902165, "1": 2.324679066261573e-07, "2": 2.324679066261569e-07}

    2

    2

    0.9999999155958832

    {"0": 2.018833979850994e-07, "1": 2.324679066261573e-07, "2": 0.9999999155958832}

    1

    1

    0.9999999155958832

    {"0": 2.018833979850994e-07、"1": 0.9999999155958832、"2": 2.324679066261569e-07}