線形回帰コンポーネントは、従属変数と複数の独立変数との間の線形関係を分析するために使用される。
コンポーネントの設定
次のいずれかの方法を使用して、線形回帰コンポーネントを設定できます。
方法1: パイプラインページでコンポーネントを設定する
Machine Learning Platform for AI (PAI) のMachine Learning Designerのパイプラインページで、線形回帰コンポーネントのパラメーターを設定できます。 Machine Learning Designerは、以前はMachine Learning Studioとして知られていました。 下表に、各パラメーターを説明します。
タブ | パラメーター | 説明 |
フィールド設定 | フィーチャー列 | トレーニング用に入力テーブルから選択されたフィーチャ列。 |
ラベル列 | ラベル列。 DOUBLE型とBIGINT型の列がサポートされています。 | |
スパース形式の使用 | 入力データがスパース形式かどうかを指定します。 スパース形式のデータは、キーと値のペアを使用して表示されます。 | |
KVペア区切り文字 | デフォルトの区切り文字はコンマ (,) です。 | |
KVデリミタ | キーと値を区切るために使用される区切り文字。 Colons (:) はデフォルトで使用されます。 | |
パラメーター設定 | 最大イテレーション | アルゴリズムによって実行される最大反復回数。 |
最小可能性偏差 | 2つの反復間の対数尤度の差がこのパラメータによって指定された値よりも小さい場合、アルゴリズムは終了する。 | |
正則化タイプの指定 | 正則化タイプ。 有効な値: L1、L2、および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。 | システムによって決定される |
例:
次の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;
次の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;
次の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;
生成されたモデル評価テーブル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 | +------------+------------+------------+------------+--------------------+------------+
次のコードで示される予測結果テーブル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} | +------------+-------------------+------------------+-------------------+