我想在Matlab中執行我的特徵選擇的PCA。據我瞭解,在Matlab中已經預編譯功能 [pc,zscores,pcvars] = princomp(yeastvalues)Matlab中的PCA-主成分分析,代碼
這是真的還是我需要別的?
我想在Matlab中執行我的特徵選擇的PCA。據我瞭解,在Matlab中已經預編譯功能 [pc,zscores,pcvars] = princomp(yeastvalues)Matlab中的PCA-主成分分析,代碼
這是真的還是我需要別的?
在MATLAB的最新版本中,最好使用的功能是pca
。這是爲了逐步取代舊功能princomp
,儘管princomp
仍然支持向後兼容性,並且我認爲至少可以保留幾個版本。
pca
和princomp
是統計工具箱的一部分。您可以通過輸入命令ver
來檢查是否安裝了統計工具箱,該命令將列出所有已安裝的產品。
任一命令的輸出通常標記爲[coeffs, scores, latent]
。首先是主成分的係數。第二個是主成分分數(與z分數完全不同)。第三是主要組件差異。鑑於你的變量命名爲[pc, zscores, pcvars]
,我不確定你期望得到什麼,但這就是你會得到的。
是的,我有統計工具箱。所以我可以使用princomp或者pca。那麼在使用princomp或者pca之前我應該怎麼處理數據集呢? – user1629213
在應用PCA之前或之後,我不知道應該如何處理您的數據 - 完全取決於您的數據是什麼樣的,以及您想回答哪些問題。如果你的數據全是數字的,那麼你可以直接將它直接放入PCA中,但取決於你的應用程序,你可能需要將它集中,或者縮放它,或者應用其他一些變換。如果它不是數字,或者它包含缺少的數據,則需要以其他方式進行修改。沒有人可以在不知道您的應用程序和數據性質的情況下做出回答。 –
我的應用程序是輔助機器人。因此,我從我的傳感器數據中提取了一些參數,我認爲這些參數與在執行某項任務時對用戶進行分類有關。 我從部署在輪椅上的傳感器包中獲取運動數據。我把某些動作歸類爲180度,Im給他一個標記(從1到4) 所以從傳感器包和軟件中我已經提取了速度,距離,時間,速度標準差等參數與用戶運行的分類相關。所以我的數據都是數字。現在希望很清楚。 – user1629213
Princomp是「統計工具箱」的功能,而不是純粹的matlab,如果這是你的問題。 – bdecaf
你在問什麼?你使用'princomp'函數嗎?因爲它站立,你什麼也沒問 – Dan
在最新版本的MATLAB中,你應該使用'pca' –