值错误:未正确调用数据帧构造函数 - 拟合稀疏 PCA 后



After fit a SparsePCA

from sklearn.decomposition import PCA
from sklearn.decomposition import TruncatedSVD
from scipy.sparse import random as sparse_random
from sklearn.decomposition import SparsePCA
from sklearn.random_projection import sparse_random_matrix

pca_a = SparsePCA(n_components=2, random_state=0) #grafico 2d
pca_review = pca_a.fit(R.toarray())

我尝试使用以下代码将其转换为数据帧

pca_review_df = pd.DataFrame(data= pca_review, columns= ['Component1','Component2'])
pca_name_review = pd.concat([pca_review_df, validation[['Kmeans_cluster']]],axis=1)

但是我收到以下错误:

ValueError: DataFrame constructor not properly called!

¿我该如何解决?

您的错误发生在行中

pca_review_df = pd.DataFrame(data= pca_review, columns= ['Component1','Component2'])

由于pca_review不是数组、可迭代对象或字典,因此它是SparsePCA对象。若要获取数据集的分量值,需要通过拟合和转换(将数据乘以 PCA 投影矩阵(来转换数据集,例如

pca_review = pca_a.fit_transform(R.toarray())

然后,您可以构建数据帧。

最新更新