TypeError:PCA()得到了意外的关键字参数'n_components'

时间:2019-02-18 06:31:52

标签: python scikit-learn pca

嗨,我正在尝试实现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)')

有人可以告诉我一个可能的原因

1 个答案:

答案 0 :(得分:1)

首先,您要导入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)')