ValueError: DataFrame constructor not properly called- After fitting a SparsePCA
ValueError: DataFrame constructor not properly called- After fitting a SparsePCA
安装 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())
我尝试使用以下代码将其转换为 DataFrame
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())
然后你就可以构建你的数据框了。
安装 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())
我尝试使用以下代码将其转换为 DataFrame
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())
然后你就可以构建你的数据框了。