主成分分析(PCA)是研究如何通過少數主成分揭示多個變數間的內部結構,考察多個變數間相關性的一種多元統計方法。PCA從原始變數中匯出少數主成分,使它們儘可能多地保留原始變數的資訊,並且彼此間互不相關,作為新的綜合指標。
使用限制
主成分分析演算法實現了降維和降噪的功能,僅支援稠密資料格式。
配置組件
方式一:可視化方式
在Designer工作流程頁面添加主成分分析組件,並在介面右側配置相關參數:
|
參數類型 |
參數 |
描述 |
|
欄位設定 |
選擇特徵列 |
輸入表中用於分析的列名稱。 |
|
附加列 |
附加在降維資料表後的列。 |
|
|
參數設定 |
資訊量比例 |
降維後資料資訊占原來的比例。 |
|
特徵分解方式 |
分解特徵的方式,取值如下:
|
|
|
資料轉換方式 |
轉換為新資料的處理方式,取值如下:
|
|
|
執行調優 |
生命週期 |
指定輸出表的生命週期,取值為正整數。 |
|
節點個數 |
與單個節點記憶體大小參數配對使用。取值為[1, 9999]的正整數。 |
|
|
單個節點記憶體大小 |
單位為兆。取值範圍為[1024, 64*1024]的正整數。 |
方式二:PAI命令方式
使用PAI命令配置主成分分析組件參數。您可以使用SQL指令碼組件進行PAI命令調用,詳情請參見SQL指令碼。
PAI -name PrinCompAnalysis
-project algo_public
-DinputTableName=bank_data
-DeigOutputTableName=pai_temp_2032_17900_2
-DprincompOutputTableName=pai_temp_2032_17900_1
-DselectedColNames=pdays,previous,emp_var_rate,cons_price_idx,cons_conf_idx,euribor3m,nr_employed
-DtransType=Simple
-DcalcuType=CORR
-DcontriRate=0.9;
|
參數名稱 |
是否必選 |
預設值 |
參數描述 |
|
inputTableName |
是 |
無 |
進行主成分分析的輸入表。 |
|
selectedColNames |
是 |
無 |
輸入表中用於分析的列名稱。 使用逗號分隔,支援INT和DOUBLE類型。 |
|
eigOutputTableName |
是 |
無 |
特徵向量與特徵值的輸出表。 |
|
princompOutputTableName |
是 |
無 |
進行主成分降維降噪後的結果輸出表。 |
|
transType |
否 |
Simple |
轉換原表為主成分分析表的方式,取值如下:
|
|
calcuType |
否 |
CORR |
對原表進行特徵分解的方式,取值如下:
|
|
contriRate |
否 |
0.9 |
資料資訊降維後保留的百分比。取值範圍為(0,1)。 |
|
remainColumns |
否 |
無 |
降維表保留原表的欄位。 |
|
coreNum |
否 |
系統自動分配。 |
節點個數,與memSizePerCore參數配對使用。取值範圍為[1, 9999]的正整數。 |
|
memSizePerCore |
否 |
系統自動分配。 |
單個節點的記憶體大小,單位為兆。取值範圍為[1024, 64*1024]的正整數。 |
|
lifecycle |
否 |
無 |
指定輸出表的生命週期,取值為正整數。 |
樣本
PCA輸出樣本
-
降維後的資料表:PCA演算法輸出結果為資料表,包含 prin0、prin1、prin2、prin3 四個主成分列,每行對應一條樣本經降維後的主成分數值。
-
特徵值和特徵向量表:該表包含4個主成分(prin0至prin3),各列展示特徵向量分量(pdays、previous、emp_var_rate、cons_price_idx、cons_conf_idx、euribor3m、nr_employed)以及對應的eigenvalue(特徵值)、contributionrate(貢獻率)和sumcontributionrate(累計貢獻率)。
-
降維後的資料表PCA演算法輸出結果為資料表,包含 prin0、prin1、prin2、prin3 四個主成分列,每行對應一條樣本經降維後的主成分數值。
-
特徵值和特徵向量表該表包含4個主成分(prin0至prin3),各列展示特徵向量分量(pdays、previous、emp_var_rate、cons_price_idx、cons_conf_idx、euribor3m、nr_employed)以及對應的eigenvalue(特徵值)、contributionrate(貢獻率)和sumcontributionrate(累計貢獻率)。