2016-04-03 108 views

回答

6

pca.components_是您投射數據的空間的正交基礎。它的形狀是(n_components, n_features)。如果您想保留具有100個樣本和50個維度(也稱爲特徵)的數據集的前3個組件(例如,執行3D散點圖),則pca.components_將具有形狀(3, 50)

我認爲你所說的「加載」是每個樣本投影到組件所跨向量空間的結果。致電pca.fit(X_train)後,可撥打pca.transform(X_train)獲得。結果將形成(n_samples, n_components),即我們前面的示例中的(100, 3)

+0

變換根據文檔應用降維,所以我的矢量具有不同的形狀,然後組件。我只是試圖複製一個文件,它的這一個具體http://ftp.utdallas.edu/~herve/Abdi- rotations-pretty.pdf我需要加載來執行Varimax旋轉,所以我可以構建出具有相應變量的表格。 –

+0

如果你不想減少維度,你可以將'n_components = n_features'傳遞給PCA構造函數(這是我認爲的默認值),並且調用變換的結果將具有形狀'(n_samples,n_features) (假設'n_samples> n_features)'。 您也可以選擇將'whiten = True'或'whiten = False'(給PCA構造函數)以決定是否要重新調整「加載」以使單元出現變化。 – ogrisel

+0

如果您需要更多關於變換是如何工作的詳細信息,請閱讀該類的源代碼,它不是很複雜: https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/ pca.py – ogrisel