您可以使用此儲存程序來建置 PCA 模型。
授權
陳述式的授權 ID 所持有的專用權必須包括 IDAX_USER 角色。
若要建立 PCA 模型,請確定您符合下列必要條件:
- 輸入直欄只能包含連續直欄。
- 輸入直欄必須包含至少兩個連續直欄。
- 輸入直欄數目不得大於 78。
- 輸入表格不能是空的。
語法
IDAX.PCA(in parameter_string varchar(32672))
參數說明
- parameter_string
- 必要的單一字串參數,其中包含以逗點區隔的 <parameter>=<value> 項目配對。
- 資料類型:VARCHAR(32672)
- 下列清單顯示參數值:
-
- model
- 必要。
- 要建置的 PCA 模型的名稱。
- 資料類型:VARCHAR(ANY)
- intable
- 必要。
- 輸入表格的名稱。
- 資料類型:VARCHAR(ANY)
- id
- 必要。
- 識別序列 ID 的輸入表格直欄。
- 資料類型:VARCHAR(ANY)
- incolumn
- 選用。
- 具有特定內容的輸入表格直欄,以分號 (;) 區隔。
- 如果未指定此參數,則輸入表格的所有直欄都有預設內容。
- 預設值:none
- 資料類型:VARCHAR(ANY)
- coldeftype
- 選用。
- 輸入表格直欄的預設類型。
- 容許的值為 'cont'。
- 如果未指定此參數,則所有直欄都是連續直欄。
- 預設值:none
- 資料類型:VARCHAR(ANY)
- coldefrole
- 選用。
- 輸入表格直欄的預設角色。
- 容許的值為 'input' 及 'ignore'。
- 如果未指定此參數,則所有直欄都是輸入直欄。
- 預設值:input
- 資料類型:VARCHAR(ANY)
- colPropertiesTable
- 選用。
- 此輸入表格之直欄內容的儲存格式與 IDAX.COLUMN_PROPERTIES() 儲存程序的輸出格式相同。
- 如果未指定此參數,則會自動偵測輸入表格直欄內容的直欄內容。
-
限制: 不支援下列表格:
- colPropertiesTable,其 "COLROLE" 直欄的值為 'objweight'
- colPropertiesTable,其 "COLWEIGHT" 直欄的值為 '<wgt>'
- 預設值:none
- 資料類型:VARCHAR(ANY)
- forceeigensolve
- 選用。
- 此旗標指出當計算模型時,是否要強制執行特徵值分解,讓標準奇異值分解快一點點。
- 容許的值為 'true' 及 'false'。
- 將此旗標設為 true,可能會比標準奇異值分解快一點點。如果輸入表格是特異矩陣,則將此旗標設為 true 不會產生結果。
- 只有當輸入表格的建模程序似乎很慢或看似產生錯誤結果時,才將此旗標設為 true。
- 預設值:false
- 資料類型:VARCHAR(ANY)
- centerdata
- 選用。
- 指示輸入值是否移位至以零為中心的旗標。
- 容許的值為 'true' 及 'false'。
- 預設值:true
- 資料類型:VARCHAR(ANY)
- scaledata
- 選用。
- 指出是否要對輸入值自動套用單位變異比例的旗標。
- 容許的值為 'true' 及 'false'。
- 預設值:false
- 資料類型:VARCHAR(ANY)
- savescores
- 選用。
- 此旗標指出是否要計算每個 PCA 上的評分及儲存在 PCA 模型中。
- 容許的值為 'true' 及 'false'。
- 預設值:false
- 資料類型:VARCHAR(ANY)
傳回的資訊
如果已順利建置 PCA 模型,則為包含字串 't'(代表 'true')的結果集。
如果未順利建置 PCA 模型,則會顯示錯誤訊息。
範例
CALL IDAX.PCA('model=customer_churn_pca, intable=customer_churn_train, id=cust_id, coldefrole=ignore,
incolumn=DURATION;AVG_SPENT_RETAIN_PM;AVG_SQ_SPENT_RETAIN_PM;ANNUAL_REVENUE_MIL;TOTAL_EMPLOYEES;TOTAL_BUY;TOTAL_BUY_FREQ;TOTAL_BUY_FREQ_SQ,
centerData=true, scaleData=true, forceEigenSolve=false, saveScores=true');