IDAX.STD_NORM - 入力表の列の標準化または正規化

このストアード・プロシージャーを使用して、入力表の列を標準化または正規化し、変換後の列を出力表に書き込みます。

許可

ステートメントの許可 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');