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

Sklearn.PCA-unexpected keyword argument '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", line 221, in display_pca = doPCA(T)

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 引起的问题?我该如何解决?

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

为了更新,看看这些问题

  • How to upgrade scikit-learn package in anaconda


根据您的评论,只是为了确保问题不是 scikit-learn 版本,请尝试以下操作

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,可能会有版本冲突。