值错误:n_components=4必须介于0和min之间(n_samples,n_features)=2,且svd_solver='full'

2024-10-01 11:37:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我的代码出现这样的错误

for n, df_process in enumerate(all_df):
                #Normalisasi data dengan metode Standard Scaler
                scaler=StandardScaler()
                scaler.fit(df_process)
                scaled_data=scaler.transform(df_process)
                #Menentukan jumlah komponen dalam PCA
                if n == 0:
                    pca=PCA(n_components=total_faktor_positif, svd_solver='full')
                else:
                    pca=PCA(n_components=total_faktor_negatif, svd_solver='full')

                #Fitting PCA dari data yang sudah normalisasi
                pca.fit(scaled_data)
                #Dicari PCA dari data yang sudah normalisasi
                x_pca=pca.transform(scaled_data)
                factor = []
                for pc in x_pca:
                    factor.append(np.argmax(pc))
                all_factor.append(factor)
                print (all_factor)
                all_pca.append(x_pca)

聚类分析dari hasil PCA yang sudah didapatkan

我怎样才能修好它们?请帮忙:(因为今天是我的论文。)


Tags: indffordataallprocessyangfactor
1条回答
网友
1楼 · 发布于 2024-10-01 11:37:30

PCAn_components必须低于min(n_samples, n_features)。在

在本例中,min(n_samples, n_features)=2,因此n_components只接受[0,2]之间的值,但您给它4。在

您可以尝试使用:n_components=2

相关问题 更多 >