IDAX.LINEAR_REGRESSION - 線形回帰モデルの作成

このストアード・プロシージャーを使用して、線形回帰モデルを作成します。

許可

ステートメントの許可 ID が保持する特権に、IDAX_USER ロールが含まれている必要があります。

制約事項

  1. 入力列には、少なくとも 1 つの連続型列が含まれている必要があります。
  2. 入力列の数は、78 個 (つまり、名義型列の数に連続型列の数を加えた数) を超えてはなりません。
  3. 各名義型入力列の個別値の数は 25 個を超えてはなりません。

構文

IDAX.LINEAR_REGRESSION(in parameter_string varchar(32672))

パラメーターの説明

parameter_string
コンマで区切られた <parameter>=<value> 項目のペアを含む必須の 1 ストリング・パラメーター。
データ型: VARCHAR(32672)
以下のリストに、パラメーター値を示します。
model
必須。
作成する線形回帰モデルの名前。
データ型: VARCHAR(64)
intable
必須。
入力表の名前。
データ型: VARCHAR(128)
id
必須。
シーケンス ID を識別する入力表列。
データ型: VARCHAR(128)
target
必須。
予測するターゲット列。
データ型: VARCHAR(128)
incolumn
必須。
特定のプロパティーが入っている入力表の列。列はセミコロン (;) で区切ります。
データ型: VARCHAR(32000)
coldeftype
オプション。
入力表列のデフォルトの型。
使用できる値は「nom」および「cont」です。
このパラメーターを指定しない場合、数値列は連続型に、それ以外の列は名義型になります。
デフォルト: なし
データ型: VARCHAR(4)
coldefrole
オプション。
入力表列のデフォルトのロール。
使用できる値は「input」および「ignore」です。
デフォルト: input
データ型: VARCHAR(8)
colPropertiesTable
オプション。
入力表の列のプロパティーが保管されている入力表。
このパラメーターを指定しない場合、入力表の列プロパティーは自動的に検出されます。
デフォルト: なし
データ型: VARCHAR(128)
intercept
オプション。
モデルの作成が切片値ありのどちらで行われるかを指示するフラグ。
使用できる値は true および false です。
デフォルト: true
データ型: VARCHAR(5)
usesvdsolver
オプション。
モデル計算で特異値分解を強制的に使用するかどうかを示すフラグ。
入力表が特異行列である場合でも、特異値分解によって結果が表示されます。 そのため、正しくない結果になる可能性があります。
入力表のモデル作成プロセスで特異行列の問題が報告された場合を除き、この値は false に設定してください。
使用できる値は true および false です。
デフォルト: false
データ型: VARCHAR(5)
calculatediagnostics
オプション。
診断情報を計算するかどうかを示すフラグ。
診断情報を計算するには、計算されたモデルによる追加のデータ・スキャンが必要になります。この処理はコストが高いため、パフォーマンスを優先する場合はアクティブにしないでください。
使用できる値は true および false です。
デフォルト: false
データ型: VARCHAR(5)

戻される情報

線形回帰ストアード・プロシージャーが正常に完了すると、以下のストリングが結果セットとして返されます (t は true を意味します)。

Result set 1
  --------------

  LINEAR_REGRESSION
  -----------------
  t                

  1 record(s) selected.

  Return Status = 0

CALL IDAX.LINEAR_REGRESSION('model=adult_linreg, intable=adult_train, id=id, target=age, coldefrole=ignore,
incolumn=WORKCLASS;FNLWGT;EDUCATION;MARITAL_STATUS;OCCUPATION;RELATIONSHIP;SEX;CAPITAL_GAIN;CAPITAL_LOSS;HOURS_PER_WEEK;
INCOME, calculatediagnostics=false, intercept=true');