2017-02-11 490 views
0
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", line 221, in display_pca = doPCA(T)Sklearn.PCA-意想不到的关键字参数 'random_state'

File "/home/dogus/Downloads/DAT210x-master/Module5/assignment4.py", line 56, in doPCA model = PCA(n_components=dimensions, svd_solver='randomized', random_state=None)

TypeError: init() got an unexpected keyword argument 'random_state'

  • 我使用的Spyder在Ubuntu的python2.7。
  • 我安装了conda的sklearn,我也通过'pip install'安装了它。
  • 我试过random_state =无,但给了我同样的错误。
  • 然后我通过终端运行它,它工作没有任何错误。

编辑:

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

Spyder引起的问题?我该如何解决它?

回答

2

您可能正在使用旧版本的sklearn。 docs表示在版本0.18.0中添加了random_state变量。尝试更新sklearn。

为了进行更新,看看这些问题


基于您的评论,只是为了确保问题是不是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,你可能会有冲突的版本。

+0

scikit学习0.18.1 np111py27_1 我已经更新通过anaconda.Then scikit学习和Spyder的我重新启动的Spyder,并试图运行的代码,但给了我同样error.Also SciPy的和numpy的是最新的。 –

+0

@Sapientia你能检查我的编辑吗?它可能仍然是与版本相关的东西。 – lucianopaz

+0

版本是0.17 Spyder说,很好。 你知道我该如何解决它?我正在寻找它。 –

相关问题