【发布时间】:2014-06-11 06:09:09
【问题描述】:
我正在尝试在维度为 m x n 的矩阵上运行 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)
现在,我得到了一个形状为 n x nf 的新矩阵 X_new。是否可以知道哪些特征被丢弃或保留?
谢谢
【问题讨论】:
-
特征没有被丢弃,它们被投影到更小的维度,并假设揭示不同特征之间的有趣联系。
-
谢谢汤姆,我在想 PCA 可以用于特征选择,但是(如果我错了,请纠正)它仅用于重新调整主成分上的数据。当你阅读它时,我想我会结束这个问题。
-
你的输出矩阵应该是
(n, nf),而不是(nf, n)。
标签: python machine-learning scikit-learn pca feature-selection