【发布时间】:2019-09-27 15:29:27
【问题描述】:
我正在尝试使用 PCA 减少特征尺寸。我已经能够将 PCA 应用于我的训练数据,但我很难理解为什么减少的特征集 (X_train_pca) 与原始特征 (X_train) 没有相似之处。
print(X_train.shape) # (26215, 727)
pca = PCA(0.5)
pca.fit(X_train)
X_train_pca = pca.transform(X_train)
print(X_train_pca.shape) # (26215, 100)
most_important_features_indicies = [np.abs(pca.components_[i]).argmax() for i in range(pca.n_components_)]
most_important_feature_index = most_important_features_indicies[0]
X_train_pca 中的第一个特征向量不应该只是X_train 中第一个特征向量的子集吗?例如,为什么以下不等于 True?
print(X_train[0][most_important_feature_index] == X_train_pca[0][0]) # False
此外,X_train 的第一个特征向量中的所有特征都不在X_train_pca 的第一个特征向量中:
for i in X_train[0]:
print(i in X_train_pca[0])
# False
# False
# False
# ...
【问题讨论】:
标签: python machine-learning pca feature-selection