【數(shù)據(jù)建模工具】數(shù)據(jù)處理算法講解之主成分分析
2022-09-23 14:54:55
次
主成分分析常用于社會科學(xué)、市場調(diào)研和使用大型數(shù)據(jù)集的其他行業(yè)數(shù)據(jù)建模分析中處理數(shù)據(jù),用來從大數(shù)據(jù)集形成較小數(shù)量的不相關(guān)變量。在一系列數(shù)據(jù)分析中,通常將主成分分析作為其中的一個步驟。主成分分析的目的是為了使用最少數(shù)量的主成分來解釋最大量的方差??梢允褂弥鞒煞址治鰷p少變量數(shù)目并避免多重共線性,也可以在相對于觀測值數(shù)目而言有太多預(yù)測變量時使用主成分分析。
?算法思想
主成分分析PCA(Principal Component Analysis)是一種常用的機器學(xué)習(xí)數(shù)據(jù)預(yù)處理的分析方法,給定原始特征空間,通過線性變換找到更低維度空間的線性映射,常用于高維數(shù)據(jù)的降維,PCA具備保守方差最大和重構(gòu)誤差最小的優(yōu)良特性。PCA算法步驟為:
(1)數(shù)據(jù)0均值化:
將每一列數(shù)據(jù)減去對應(yīng)的均值得到0均值矩陣方便下一步的協(xié)方差矩陣求解。
(2)計算協(xié)方差矩陣:
以矩陣X(0均值化處理)為例:
由于X經(jīng)過0均值化處理,所以可以求出方差和協(xié)方差:
由此可得:
那么,由 可得 協(xié)方差矩陣為:
(3)計算協(xié)方差矩陣的特征向量:
對協(xié)方差矩陣做奇異值分解,找到矩陣 滿足 為對角陣,那么 對角值為協(xié)方差矩陣的特征值, 為特征值對應(yīng)的特征向量。對特征值進行降序排列,選取特征值前n(主成分個數(shù))個對應(yīng)特征向量構(gòu)建矩陣為成分矩陣。
(4)數(shù)據(jù)降維
根據(jù)成分矩陣 可以將原始數(shù)據(jù) 進行降維操作:
?數(shù)據(jù)格式
?參數(shù)說明
參數(shù) |
類型 |
描述 |
選擇變量 |
列表框 |
用戶指定需要進行主成分分析的屬性列,需要指定大于1個的變量作為主成分分析的對象 |
提取方法 |
下拉框 |
按照因子數(shù)、累積貢獻度的方式進行主成分分析。 |
因子數(shù) |
文本框 |
當(dāng)提取方法為因子數(shù)時,用戶直接指定需要分解的因子數(shù)。默認(rèn)為1。 |
累積貢獻度 |
文本框 |
當(dāng)提取方法為累積貢獻度時,用戶直接指定需要貢獻度的大小。默認(rèn)為90%。 |
?結(jié)果說明
屬性列“pre_vector”為需要進行主成分分析的原始列集合;
屬性列“Pca_Vector”為經(jīng)過主成分分析后的變換列;
?演示實例
利用Tempo機器學(xué)習(xí)平臺構(gòu)建如下流程:
【文件輸入】節(jié)點配置如下:
【主成分分析】節(jié)點配置如下:
Tempo機器學(xué)習(xí)平臺流程運行結(jié)果如下所示: