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())
然后,您可以构建数据帧。