高斯过程回归器 scikit learn 无法识别“eval_MSE=True”
Posted
技术标签:
【中文标题】高斯过程回归器 scikit learn 无法识别“eval_MSE=True”【英文标题】:Gaussian Process Regressor scikit learn does not recognise 'eval_MSE=True' 【发布时间】:2020-10-16 11:27:07 【问题描述】:我正在使用 Gaussian Process Regressor scikit learn 来预测模型的数据。在使用 gp 时,我还需要找到数据集中存在的每个值的不确定性。文档建议使用“gp.predict(self, X, eval_MSE=True)”。我在可在线测试的代码中使用了相同的“eval_MSE”,但它给了我这个错误。
TypeError: predict() got an unexpected keyword argument 'eval_MSE'
我用于测试的代码:
gp = GaussianProcessRegressor(corr='squared_exponential', theta0=1e-1,
thetaL=1e-3, thetaU=1,
nugget=(dy / y) ** 2,
random_start=100)
gp.fit(X, y)
y_pred, MSE = gp.predict(x, eval_MSE=True)
sigma = np.sqrt(MSE)
谁能为此提供解决方案?
【问题讨论】:
嗨@jimi,很好的问题,我也有同样的问题,除了降级,你能找到解决方案吗? 【参考方案1】:要么回到以前的 scikitlearn 版本:GaussianProcess.predict ... 或者你适应最新的:GaussianProcessClassifier.predict
不仅predict
参数发生了变化,而且分类器本身的名称、输入参数等也发生了变化。
之前链接的总结:
旧的 GaussianProcess(0.17 版):
class sklearn.gaussian_process.GaussianProcess(regr='constant', corr='squared_exponential', beta0=None, storage_mode='full', verbose=False, theta0=0.1, thetaL=None, thetaU=None, optimizer= 'fmin_cobyla', random_start=1, normalize=True, nugget=2.2204460492503131e-15, random_state=None)
预测(X,eval_MSE=False,batch_size=None)
新的 GaussianProcessClassifier:
class sklearn.gaussian_process.GaussianProcessClassifier(kernel=None, *, optimizer='fmin_l_bfgs_b', n_restarts_optimizer=0, max_iter_predict=100, warm_start=False, copy_X_train=True, random_state=None, multi_class='one_vs_rest', n_jobs=无)
预测(X)
【讨论】:
如果有人更熟悉这些变量会很好,请从 0.17 到最新版本进行 输入变量表匹配。例如,从现在开始如何设置eval_MSE
。
Garcia 你好,谢谢你的回答,我也有同样的问题,你知道在当前版本中如何处理eval_MSE
吗?以上是关于高斯过程回归器 scikit learn 无法识别“eval_MSE=True”的主要内容,如果未能解决你的问题,请参考以下文章