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'
- 我在 Ubuntu 中将 Spyder 与 python2.7 一起使用。
- 我用 conda 安装了 sklearn,我也通过 'pip install' 安装了它。
- 我尝试了 random_state=None,但给了我同样的错误。
- 然后我 运行 它通过终端运行,没有任何错误。
编辑:
- Scikit-learn(1.18.1),spyder,scipy,numpy,ipython 通过 anaconda 更新。
- 然后我重新启动了 Spyder 并尝试 运行 代码但是给了我
同样的错误。
- 我 运行 通过 IPython 和 Python 控制台获取代码。
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,可能会有版本冲突。
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'
- 我在 Ubuntu 中将 Spyder 与 python2.7 一起使用。
- 我用 conda 安装了 sklearn,我也通过 'pip install' 安装了它。
- 我尝试了 random_state=None,但给了我同样的错误。
- 然后我 运行 它通过终端运行,没有任何错误。
编辑:
- Scikit-learn(1.18.1),spyder,scipy,numpy,ipython 通过 anaconda 更新。
- 然后我重新启动了 Spyder 并尝试 运行 代码但是给了我 同样的错误。
- 我 运行 通过 IPython 和 Python 控制台获取代码。
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,可能会有版本冲突。