2016-04-03 94 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