Sklearn.PCA-意外关键字参数"random_state"


def doPCA(data, dimensions=2):
from sklearn.decomposition import PCA
model = PCA(n_components=dimensions, svd_solver='randomized', random_state=7)
model.fit(data)
return model

File"/home/dogus/Downloads/DAT210x master/Module5/assignment4.py",第221行,在display_pca=doPCA(T)

文件"/home/dogus/Downloads/DAT210x master/Module5/assignment4.py",第56行,在doPCA中model=PCA(n_components=维度,svd_solver=‘随机化’,random_state=无)

TypeError:init()获得了一个意外的关键字参数"随机状态">

  • 我在Ubuntu中使用Spyder和python2.7
  • 我用conda安装了sklearn,我也通过"pip-install"安装了它
  • 我尝试了random_state=无,但给出了相同的错误
  • 然后我通过终端运行它,它运行时没有任何错误

编辑:

  • Scikit学习(1.18.1),spyder,scipy,numpy,ipython通过anaconda更新
  • 然后我重新启动了Spyder并试图运行代码,但给了我同样的错误
  • 我通过IPython和Python控制台运行代码

Spyder引起的问题?我该怎么修?

您可能正在使用旧版本的sklearn。文档中说random_state变量是在0.18.0版本中添加的。尝试更新sklearn。

为了进行更新,请查看以下问题

  • 如何在anaconda 中升级scikit学习包

  • conda更新scikit-learn(也称为scipy和numpy)


根据您的评论,为了确保问题不是scikit学习版本,请尝试以下

def doPCA(data, dimensions=2): 
from sklearn.decomposition import PCA
import sklearn
print sklearn.__version__
model = PCA(n_components=dimensions, svd_solver='randomized', random_state=7)
model.fit(data)
return model

这将只打印正在使用的sklearn版本。正如你所说,你也安装了带有pip的sklearn,你可能会有冲突的版本。

相关内容

  • 没有找到相关文章

最新更新