IDAX.STD_NORM - 將輸入表格的直欄標準化或正規化

您可以使用此儲存程序將輸入表格的直欄標準化或正規化,以及將轉換後的直欄寫入至輸出表格。

授權

陳述式的授權 ID 所持有的專用權必須包括 IDAX_USER 角色。

語法

IDAX.STD_NORM(in parameter_string varchar(32672))

參數說明

parameter_string
必要的單一字串參數,其中包含以逗點區隔的 <parameter>=<value> 項目配對。
資料類型:VARCHAR(32672)
下列清單顯示參數值:
intable
必要。
輸入表格的名稱。
資料類型:VARCHAR(256)
incolumn
必要。
要考量的輸入表格直欄。
這些直欄會以分號 (;) 區隔。
您可以將下列符號附加至每一個直欄:
<column>:L
直欄維持不變。
輸出表格包含具有相同值的相同直欄。
<column>:S
將直欄標準化。
輸出表格包含 STD_<column> 直欄,其中包含標準化輸入值。 標準化值 S 等於 (x-mean)/stddev,其中 x 是輸入值,mean 是直欄的平均值,而 stddev 是直欄的標準差。標準化值的範圍是從負無限大到正無限大。
<column>:N
將直欄正規化。
<column>:U
指定直欄的長度為一個單位。
此外,您還可以將下列符號附加至兩個直欄:
<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 直欄,以指出要計算哪一個群組的轉換。
輸出直欄的命名慣例受到限制。具有相同字尾 :L、:S、:N 或 :U 的輸入直欄不能在 incolumn 參數中出現兩次。
資料類型:VARCHAR(ANY)
id
必要。
輸入表格中用來識別唯一實例 ID 的直欄。
資料類型:VARCHAR(128)
outtable
必要。
包含已修改資料的輸出表格。
資料類型:VARCHAR(256)
by
選用。
輸入表格的直欄,它將資料分割成數個要執行轉換的群組。
預設值:none
資料類型: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');