亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

大型數據集上的 PCA

大型數據集上的 PCA

阿波羅的戰車 2022-10-25 15:11:55
我有一個包含 6 個輸入變量(溫度、壓力、流速等)的大型數據集,以提供產量、純度和轉化率等輸出??偣灿写蠹s 47600 個實例,這些都在 Excel 電子表格中。我已經在這些數據上應用了人工神經網絡和隨機森林算法,并獲得了預測圖和準確度指標。(在 Python 中)隨機森林模型具有賦予輸入變量重要性的特征。我現在想對這些數據執行 PCA 以首先與隨機森林結果進行比較,并獲得有關我的輸入數據如何相互交互以給出我的輸出的更多信息。我看過一些 youtube 視頻和教程來了解 PCA,但是他們使用的數據與我的完全不同。下面是我的數據片段。前 6 列是輸入,后 3 列是輸出。如何使用 PCA 進行分析?我已經設法在 python 中繪制它,但是情節非常繁忙,幾乎沒有提供太多信息。歡迎任何幫助或提示!也許是不同的分析工具?我不介意使用 Python 或 Matlab謝謝 :)
查看完整描述

1 回答

?
www說

TA貢獻1775條經驗 獲得超8個贊

我建議KarhunenLoeveSVDAlgorithm在 OpenTURNS 中使用。它提供了 4 種隨機 SVD 算法的實現。約束是必須預先設置要計算的奇異值的數量。

為了啟用算法,我們必須KarhunenLoeveSVDAlgorithm-UseRandomSVDResourceMap. 然后KarhunenLoeveSVDAlgorithm-RandomSVDMaximumRank鍵設置要計算的奇異值的數量(默認情況下,它等于 1000)。

提供了兩種實現:

  • Nathan Halko、Per-Gunnar Martinsson、Joel A. Tropp。尋找具有隨機性的結構:構造近似矩陣分解的概率算法,

  • Nathan Halko、Per-Gunnar Martisson、Yoel Shkolnisky 和 Mark Tygert。一種用于大型數據集的主成分分析的算法。

這些算法可以用KarhunenLoeveSVDAlgorithm-RandomSVDVariant密鑰來選擇。

在以下示例中,我使用AbsoluteExponential協方差模型從高斯過程中模擬了一個大型過程樣本。

import openturns as ot

mesh = ot.IntervalMesher([10]*2).build(ot.Interval([-1.0]*2, [1.0]*2))

s = 0.01

model = ot.AbsoluteExponential([1.0]*2)

sampleSize = 100000

sample = ot.GaussianProcess(model, mesh).getSample(sampleSize)

然后使用隨機 SVD 算法:


ot.ResourceMap_SetAsBool('KarhunenLoeveSVDAlgorithm-UseRandomSVD', True)

algorithm = ot.KarhunenLoeveSVDAlgorithm(sample, s)

algorithm.run()

result = algorithm.getResult()

該result對象包含過程的 Karhunen-Loève 分解。這對應于具有規則網格(和相等權重)的 PCA。


查看完整回答
反對 回復 2022-10-25
  • 1 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號