嗨,我尝试实现PCA(),但出现错误,


  TypeError:PCA()获得了意外的关键字参数'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)期望在传递n_components的位置输入参数X和Y。

解:

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

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)')

07-24 09:52
查看更多