Я пытаюсь уменьшить размеры элемента, используя 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
# ...