python - ValueError : n_components=4 must be between 0 and min(n_samples, n_features)=2 与 svd_solver ='full'

标签 python pca

我的代码出现这样的错误

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

我该如何修复它们?请帮忙:(因为今天是我的论文

最佳答案

PCAn_components 必须低于 min(n_samples, n_features)

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

您可以尝试使用:n_components=2

关于python - ValueError : n_components=4 must be between 0 and min(n_samples, n_features)=2 与 svd_solver ='full',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56694980/

相关文章:

python - 为什么 SymPy 不理解对数积

machine-learning - SVM 对噪声有弹性吗

python - 可视化 PCA 转换后的数据

r - ade4软件包-主成分分析

python - 在两个不同的 GPU 上并行运行一部分 Python 代码

python - 从 http POST 请求中解码 JSON

python - flake8 在过滤器子句中提示 bool 比较 "=="

Python 结构,大小因对齐而改变。

python - 是否可以将 PCA 应用于任何文本分类?

csv - PySpark 不规则执行上的 PCA