Tôi đang cố gắng để phục hồi từ một PCA thực hiện với scikit-học, trong đó tính năng được chọn là có liên quan .
Một ví dụ cổ điển với bộ dữ liệu IRIS.
import pandas as pd
import pylab as pl
from sklearn import datasets
from sklearn.decomposition import PCA
# load dataset
iris = datasets.load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
# normalize data
df_norm = (df - df.mean()) / df.std()
# PCA
pca = PCA(n_components=2)
pca.fit_transform(df_norm.values)
print pca.explained_variance_ratio_
Điều này trả lại
In [42]: pca.explained_variance_ratio_
Out[42]: array([ 0.72770452, 0.23030523])
Làm cách nào để khôi phục hai tính năng nào cho phép hai phương sai giải thích này giữa tập dữ liệu? Nói cách khác, làm cách nào tôi có thể lấy chỉ mục của các tính năng này trong iris.feature_names?
In [47]: print iris.feature_names
['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
Cảm ơn trước sự giúp đỡ của bạn.
pca.components_
là những gì bạn đang tìm kiếm.