2011-02-10 83 views
3

我有一組100觀察,其中每個觀察具有45個特徵。每一個觀察結果都有一個標籤,我想根據這45個特徵來預測。所以它是一個尺寸爲45 x 100的輸入矩陣和尺寸爲1 x 100的目標矩陣。
問題是我想知道這45個特徵中有多少與我的數據集相關,基本上是委託人組件分析,我知道我可以用Matlab函數processpca來做到這一點。

你能告訴我我該怎麼做?假設輸入矩陣是具有45行和100列的x,並且y是具有100個元素的向量。Matlab問題 - 主成分分析

+1

@大衛赫弗南:這是對我見過的SO,但最模糊的評論。 @Jack:R在語法上類似於Matlab。如果你想走那條路線,你可以看看http://www.uga.edu/strata/software/pdf/pcaTutorial.pdf。 – aqua 2011-02-10 20:44:10

+0

是啊,R的PCA想要什麼 – 2011-02-10 20:45:19

+2

@David Heffernan:Matlab的主成分分析代碼缺乏那麼多,以至於有一個*有*可以切換到R以獲得不錯的結果? – Jonas 2011-02-10 21:17:39

回答

5

假設您想要構建基於45x100矩陣的1x100向量模型,我不相信PCA會按照您的想法進行操作。 PCA可用於選擇模型估計的變量,但這是收集一組模型特徵的一種間接方式。無論如何,我建議您閱讀這兩種:

Principal Components Analysis

和...

Putting PCA to Work

...這兩者在MATLAB提供代碼不需要任何的工具箱。

1

你試過COEFF = princomp(x)

COEFF = princomp(X)執行對 n乘p個數據矩陣X主 成分分析(PCA),並返回 主分量係數,也 稱爲負荷。行X 對應於觀察值,列爲 變量。 COEFF是一個p-by-p矩陣,每個列包含一個主要組件的係數 。 列按組件方差遞減。

0

從你的問題我推斷你不需要在MATLAB中做,但你只是想分析你的數據集。根據我的觀點,關鍵是可視化依賴關係。

如果你不是被迫在MATLAB中進行分析,我建議你嘗試更專門的軟件,比如WEKA(www.cs.waikato.ac.nz/ml/weka/)或RapidMiner(rapid-i .COM)。這兩種工具都可以提供PCA和其他降維算法+它們包含很好的可視化工具。

0

您的使用案例聽起來像分類和特徵選擇的組合。

統計工具箱在這方面提供了很多很好的功能。該工具箱提供訪問多項分類算法包括

  • 樸素貝葉斯分類袋裝
  • 決策樹(又名隨機森林)
  • 二項式和多標稱邏輯迴歸
  • 線性判別分析

您還有多種選項可用於功能選擇,包括

  • sequentialfs(向前和向後特徵選擇)
  • relifF
  • 「treebagger」 還支持用於特徵選擇和估計變量重要性選項。

或者,您可以使用一些Optimization Toolbox的功能來編寫自己的自定義方程來估計變量的重要性。

一對夫婦回來後,我爲The MathWorks舉辦了題爲「計算統計:使用MTALAB入門分類」的網絡研討會。您可以在

http://www.mathworks.com/company/events/webinars/wbnr51468.html?id=51468&p1=772996255&p2=772996273

碼錶的網絡研討會和數據的例子設置可在MATLAB中心

http://www.mathworks.com/matlabcentral/fileexchange/28770

隨着使用主成分這一切說和做,很多人在應用分類算法之前作爲預處理步驟進行分析。 PCA被使用了很多

  1. 當你需要當你擔心多重