我正在使用高斯过程回归器scikit来学习模型的数据。在使用 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)
任何人都可以为此提供解决方案吗?
要么回到scikitlearn的先前版本:GaussianProcess.predict ...或者你适应最新的:GaussianProcessClassifier.predict
不仅predict
参数发生了变化,分类器本身的名称、输入参数等也发生了变化。
以前链接的摘要:
-
旧高斯进程(0.17版(:
类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=假, batch_size=无(
-
新的高斯过程分类器:
类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=None(
预测(X(