このストアード・プロシージャーを使用して、入力表の列を標準化または正規化し、変換後の列を出力表に書き込みます。
許可
ステートメントの許可 ID が保持する特権に、IDAX_USER ロールが含まれている必要があります。
構文
IDAX.STD_NORM(in parameter_string varchar(32672))
パラメーターの説明
- parameter_string
- コンマで区切られた <parameter>=<value> 項目のペアを含む必須の 1 ストリング・パラメーター。
- データ型: VARCHAR(32672)
- 以下のリストに、パラメーター値を示します。
-
- intable
- 必須。
- 入力表の名前。
- データ型: VARCHAR(256)
- incolumn
- 必須。
- 考慮する必要のある入力表の列。
- これらの列はセミコロン (;) で区切られます。
- 以下の符号を各列に追加できます。
- <column>:L
- 列を変更しません。
- 出力表には、同じ値の同じ列が含まれます。
- <column>:S
- 列を標準化します。
- 出力表には、標準化された入力値を含んでいる STD_<column> 列が含まれます。標準化された値 S は、(x-mean)/stddev に等しくなります。ここで、x は入力値、mean は列の平均値、stddev は列の標準偏差です。標準化された値の範囲は、負の無限大から正の無限大までです。
- <column>:N
- 列を正規化します。
- <column>:U
- 列の長さが 1 単位であることを指定します。
- さらに、以下の符号を 2 つの列に付加できます。
- <col1>/<col2>:C
- <col1> 列および <col2> 列をスペース内の単位ベクトルとして正規化します。
- 出力表には、NRC_<rank>_<col1> 列と NRC_<rank>_<col2> 列が含まれます。ここで、rank は :C 変換または :V 変換のリスト内でのこの変換のランクであり、1 から始まります。
- 両方の列が、それぞれの正規化された入力値を含んでいます。<col1> の正規化された値 U1 は、x/sqrt(x^2+y^2) に等しくなります。ここで、x は <col1> の入力値、y は <col2> の入力値です。
- <col2> の正規化された値 U2 は、y/sqrt(x^2+y^2) に等しくなります。ここで、x は <col1> の入力値、y は <col2> の入力値です。正規化された値の範囲は、-1 から 1 までです。
- <col1>/<col2>:V
- 列の値を最長行ベクトルの長さで割ります。
- データの最長の行ベクトルに従って、<col1> 列および <col2> 列を正規化します。
- 出力表には、NRM_<rank>_<col1> 列および NRM_<rank>_<col2> 列が含まれます。ここで、rank は :C 変換または :V 変換のリスト内でのこの変換のランクであり、1 から始まります。
- 両方の列が、それぞれの正規化された入力値を含んでいます。<col1> の正規化された値 V1 は、x/sqrt(maxssq) に等しくなります。ここで、x は <col1> の入力値、maxssq は <col1> と <col2> の値の二乗和の最大値です。
- <col2> の正規化された値 V2 は、y/sqrt(maxssq) に等しくなります。ここで、y は <col2> の入力値、maxssq は <col1> と <col2> の値の二乗和の最大値です。正規化された値の範囲は、-1 から 1 までです。
- 出力表には、incolumn パラメーターで指定された ID 列と出力列が含まれます。by パラメーターが指定されている場合、どのグループについて変換が計算されるかを示す by 列が追加されます。
- 出力列の命名規則は制限されています。1 つの入力列を、同じ接尾部 :L、 :S、 :N、または :U 付きで incolumn パラメーターに 2 回指定することはできません。
- データ型: VARCHAR(ANY)
- id
- 必須。
- ユニーク・インスタンス ID を識別する入力表列。
- データ型: VARCHAR(128)
- outtable
- 必須。
- 変更されたデータが含まれる出力表。
- データ型: VARCHAR(256)
- by
- オプション。
- データを変換の実行対象となるグループに分割する入力表の列。
- デフォルト: なし
- データ型: VARCHAR(128)
- view
- オプション。
- 出力オブジェクトをビューとして保管するか (true)、表として保管するか (false) を指示するフラグ。
- デフォルト: false
- データ型: BOOLEAN
戻される情報
VARCHAR(1000)。出力表に含まれる変換済みの列の数。接尾部 :L で指定された列は無視されます。
例
CALL IDAX.STD_NORM('intable=IRIS, incolumn=petallength:S;petallength:L;petallength:N;petallength:U;sepallength/petallength:C, id=id, outtable=IRIS_NORM1');
CALL IDAX.STD_NORM('intable=IRIS, incolumn=petallength:S;petallength:L;petallength:N;petallength:U;sepallength/petallength:C, id=id,outtable=IRIS_NORM2, by=class');