【发布时间】:2017-07-06 17:31:42
【问题描述】:
我正在做一些机器学习并尝试使用 PCA 找到重要的维度。这是我到目前为止所做的:
from sklearn.decomposition import PCA
pca = PCA(n_components=0.98)
X_reduced = pca.fit_transform(df_normalized)
X_reduced.shape
(2208, 1961)
因此,在运行 PCA 后,我有 2,208 行,包含 1,961 列,这解释了我的数据集中 98% 的方差。但是,我担心解释力最小的维度实际上可能会损害我的预测尝试(我的模型可能只是在数据中发现虚假的相关性)。
SciKit-Learn 是否按重要性对列进行排序?如果是这样,我可以这样做:
X_final = X_reduced[:, :20],对吗?
感谢您的帮助!
【问题讨论】: