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

Platform For AI:線形回帰

最終更新日:Jul 22, 2024

線形回帰コンポーネントは、従属変数と複数の独立変数との間の線形関係を分析するために使用される。

コンポーネントの設定

次のいずれかの方法を使用して、線形回帰コンポーネントを設定できます。

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

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

タブ

パラメーター

説明

フィールド設定

フィーチャー列

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

ラベル列

ラベル列。 DOUBLE型とBIGINT型の列がサポートされています。

スパース形式の使用

入力データがスパース形式かどうかを指定します。 スパース形式のデータは、キーと値のペアを使用して表示されます。

KVペア区切り文字

デフォルトの区切り文字はコンマ (,) です。

KVデリミタ

キーと値を区切るために使用される区切り文字。 Colons (:) はデフォルトで使用されます。

パラメーター設定

最大イテレーション

アルゴリズムによって実行される最大反復回数。

最小可能性偏差

2つの反復間の対数尤度の差がこのパラメータによって指定された値よりも小さい場合、アルゴリズムは終了する。

正則化タイプの指定

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

正則化係数

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

モデル評価テーブルの生成

メトリックは、R二乗、調整されたR二乗、AIC、自由度、残差標準偏差、および残差偏差を含む。

回帰係数評価

メトリックにはt値とp値が含まれ、信頼区間は [2.5%,97.5%] です。 このパラメーターは、[モデル評価テーブルの生成] が選択されている場合にのみ有効です。

チューニング

コンピューティングコア数

コアの数。 デフォルトでは、システムが値を決定します。

コアあたりのメモリサイズ

各コアのメモリサイズ。 デフォルトでは、システムが値を決定します。

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

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

PAI -name linearregression
    -project algo_public
    -DinputTableName=lm_test_input
    -DfeatureColNames=x
    -DlabelColName=y
    -DmodelName=lm_test_input_model_out;

パラメーター

必須

説明

デフォルト値

inputTableName

入力テーブルの名前。

N/A

modelName

出力モデルの名前。

N/A

outputTableName

不可

出力モデル評価テーブルの名前。 このパラメーターは、enableFitGoodnessパラメーターがtrueに設定されている場合に必要です。

N/A

labelColName

ラベル列。 このパラメータは、従属変数を指定します。 DOUBLE型とBIGINT型の列がサポートされています。 選択できる列は1つだけです。

N/A

featureColNames

フィーチャー列。 このパラメーターは、独立変数を指定します。 入力テーブルのデータがdense形式の場合、DOUBLE型とBIGINT型の列がサポートされます。 入力データがスパース形式の場合、STRING型の列のみがサポートされます。

N/A

inputTablePartitions

不可

トレーニング用に入力テーブルから選択されたパーティション。

N/A

enableSparse

不可

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

false

itemDelimiter

不可

キーと値のペアを区切るために使用される区切り文字。 このパラメーターは、enableSparseパラメーターがtrueに設定されている場合に有効です。

,

kvDelimiter

不可

キーを区切るために使用される区切り文字。 このパラメーターは、enableSparseパラメーターがtrueに設定されている場合に有効です。

:

maxIter

不可

アルゴリズムによって実行される最大反復回数。

100

イプシロン

不可

最小尤度エラー。 2つの反復間の対数尤度の差がこのパラメータによって指定された値よりも小さい場合、アルゴリズムは終了する。

0.000001

regularizedType

不可

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

なし

regularizedLevel

不可

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

1

enableFitGoodness

不可

モデル評価テーブルを生成するかどうかを指定します。 メトリックは、R二乗、調整されたR二乗、AIC、自由度、残差標準偏差、および残差偏差を含む。 有効な値: trueとfalse

false

enableCoefficientEstimate

不可

回帰係数を評価するかどうかを指定します。 メトリックにはt値とp値が含まれ、信頼区間は [2.5%,97.5%] です。 このパラメーターは、enableFitGoodnessパラメーターがtrueに設定されている場合に有効です。 有効な値: trueとfalse

false

ライフサイクル

不可

出力モデル評価テーブルのライフサイクル。

-1

coreNum

不可

コンピューティングで使用されるコアの数。

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

memSizePerCore

不可

各コアのメモリサイズ。 有効値: 1024〜20 × 1024。 単位:MB。

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

例:

  1. 次のSQL文を実行してテストデータを生成します。

     drop table if exists lm_test_input;
      create table lm_test_input as
      select
        *
      from
      (
        select 10 as y, 1.84 as x1, 1 as x2, '0:1.84 1:1' as sparsecol1
          union all
        select 20 as y, 2.13 as x1, 0 as x2, '0:2.13' as sparsecol1
          union all
        select 30 as y, 3.89 as x1, 0 as x2, '0:3.89' as sparsecol1
          union all
        select 40 as y, 4.19 as x1, 0 as x2, '0:4.19' as sparsecol1
          union all
        select 50 as y, 5.76 as x1, 0 as x2, '0:5.76' as sparsecol1
          union all
        select 60 as y, 6.68 as x1, 2 as x2, '0:6.68 1:2' as sparsecol1
          union all
        select 70 as y, 7.58 as x1, 0 as x2, '0:7.58' as sparsecol1
          union all
        select 80 as y, 8.01 as x1, 0 as x2, '0:8.01' as sparsecol1
          union all
        select 90 as y, 9.02 as x1, 3 as x2, '0:9.02 1:3' as sparsecol1
          union all
        select 100 as y, 10.56 as x1, 0 as x2, '0:10.56' as sparsecol1
      ) tmp;
  2. 次のPAIコマンドを実行して、線形回帰コンポーネント用に設定されたパラメータを送信します。

    PAI -name linearregression
        -project algo_public
        -DinputTableName=lm_test_input
        -DlabelColName=y
        -DfeatureColNames=x1,x2
        -DmodelName=lm_test_input_model_out
        -DoutputTableName=lm_test_input_conf_out
        -DenableCoefficientEstimate=true
        -DenableFitGoodness=true
        -Dlifecycle=1;
  3. 次のPAIコマンドを実行して、予測コンポーネントに設定されたパラメーターを送信します。

    pai -name prediction
        -project algo_public
        -DmodelName=lm_test_input_model_out
        -DinputTableName=lm_test_input
        -DoutputTableName=lm_test_input_predict_out
        -DappendColNames=y;
  4. 生成されたモデル評価テーブルlm_test_input_conf_outを表示します。

    +------------+------------+------------+------------+--------------------+------------+
    | colname    | value      | tscore     | pvalue     | confidenceinterval | p          |
    +------------+------------+------------+------------+--------------------+------------+
    | Intercept  | -6.42378496687763 | -2.2725755951390028 | 0.06       | {"2.5%": -11.964027, "97.5%": -0.883543} | coefficient |
    | x1         | 10.260063429838898 | 23.270944360826963 | 0.0        | {"2.5%": 9.395908, "97.5%": 11.124219} | coefficient |
    | x2         | 0.35374498323846265 | 0.2949247320997519 | 0.81       | {"2.5%": -1.997160, "97.5%": 2.704650} | coefficient |
    | rsquared   | 0.9879675667384592 | NULL       | NULL       | NULL               | goodness   |
    | adjusted_rsquared | 0.9845297286637332 | NULL       | NULL       | NULL               | goodness   |
    | aic        | 59.331109494251805 | NULL       | NULL       | NULL               | goodness   |
    | degree_of_freedom | 7.0        | NULL       | NULL       | NULL               | goodness   |
    | standardErr_residual | 3.765777749448906 | NULL       | NULL       | NULL               | goodness   |
    | deviance   | 99.26757440771128 | NULL       | NULL       | NULL               | goodness   |
    +------------+------------+------------+------------+--------------------+------------+
  5. 次のコードで示される予測結果テーブルlm_test_input_predict_outを表示します。

    +------------+-------------------+------------------+-------------------+
    | y          | prediction_result | prediction_score | prediction_detail |
    +------------+-------------------+------------------+-------------------+
    | 10         | NULL              | 12.808476727264404 | {"y": 12.8084767272644} |
    | 20         | NULL              | 15.43015013867922 | {"y": 15.43015013867922} |
    | 30         | NULL              | 33.48786177519568 | {"y": 33.48786177519568} |
    | 40         | NULL              | 36.565880804147355 | {"y": 36.56588080414735} |
    | 50         | NULL              | 52.674180388994415 | {"y": 52.67418038899442} |
    | 60         | NULL              | 62.82092871092313 | {"y": 62.82092871092313} |
    | 70         | NULL              | 71.34749583130122 | {"y": 71.34749583130122} |
    | 80         | NULL              | 75.75932310613193 | {"y": 75.75932310613193} |
    | 90         | NULL              | 87.1832221199846 | {"y": 87.18322211998461} |
    | 100        | NULL              | 101.92248485222113 | {"y": 101.9224848522211} |
    +------------+-------------------+------------------+-------------------+