TypeError: PCA() got an unexpected keyword argument 'n_components'

TypeError: PCA() got an unexpected keyword argument 'n_components'

您好,我正在尝试实施 PCA(),但出现错误,'

TypeError: PCA() got an unexpected keyword argument 'n_components'.

from sklearn.decomposition import PCA
#Principal component analysis
def PCA(X,Y):
    pca = PCA(n_components=2)
    X = pca.fit_transform(X)

    plot_2d_space(X, Y, 'Imbalanced dataset (2 PCA components)')

谁能告诉我一个可能的原因

首先您要导入 from sklearn.decomposition import PCA 然后你为你的函数使用相同的名称 def PCA

所以下次您调用该函数时,它会调用您的函数而不是从 scikit-learn 函数。

所以基本上 pca = PCA(n_components=2) 期望您传递的参数 X 和 Y n_components

解决方法:

更改您的函数的名称,它应该可以工作:

def PCA_2(X,Y):
    pca = PCA(n_components=2)
    X = pca.fit_transform(X)

    plot_2d_space(X, Y, 'Imbalanced dataset (2 PCA components)')