gc5*_*gc5 25 python machine-learning pca feature-selection scikit-learn
我试图在维度为mxn的矩阵上运行PCA,其中m是要素的数量,n是样本的数量.
假设我想保留nf具有最大方差的要素.随着scikit-learn我能够做到这样:
from sklearn.decomposition import PCA
nf = 100
pca = PCA(n_components=nf)
# X is the matrix transposed (n samples on the rows, m features on the columns)
pca.fit(X)
X_new = pca.transform(X)
Run Code Online (Sandbox Code Playgroud)
现在,我得到一个X_new形状为nx nf 的新矩阵.是否可以知道哪些功能已被丢弃或保留哪些功能?
谢谢
eic*_*erg 30
您的PCA对象在拟合期间确定的功能是pca.components_.与被跨越的矢量空间正交的矢量空间pca.components_被丢弃.
请注意,PCA不会"丢弃"或"保留"任何预定义的功能(由您指定的列编码).它混合所有这些(通过加权和)以找到最大方差的正交方向.
如果这不是您正在寻找的行为,那么PCA维数降低不是可行的方法.对于一些简单的一般特征选择方法,您可以查看sklearn.feature_selection
| 归档时间: |
|
| 查看次数: |
31195 次 |
| 最近记录: |