嗨,我正在尝试实现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)')
有人可以告诉我一个可能的原因
答案 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)')