0
我创建了高斯过程模型并用嘈杂的目标进行训练。我实现了噪声作为一个参数的α[N_SAMPLES次]根据在过去的文档scikit学习18.嘈杂目标的高斯过程的交叉验证错误
model = GaussianProcessRegressor(kernel=kernel,n_restarts_optimizer=0, alpha=dy_train ** 2)
它工作直到我想执行交叉验证。它提出了一个错误,阿尔法参数和实际目标的长度不等于:
scores = cross_val_score(model, X_test, y_test)
ValueError: alpha must be a scalar or an array with same number of entries as y.(35 != 10)
我理解的错误,但我不知道如何正确定义的α向量交叉验证。请提出任何建议?
感谢
谢谢你的解释和代码。这似乎很容易。你是什么意思“非常奇怪的启发式”?我将“alpha”参数理解为表示目标数据不确定性的噪声系数。由于每个采样的噪声方差发生变化,因此alpha参数是标准误差的向量。因为我是高斯过程回归和机器学习的初学者,所以对于如何正确模拟输出数据的高斯噪声的建议,我将不胜感激。 –
通过非常奇怪的启发式我的意思是将alpha设置为目标值的平方(您现在通过传递dy_train ** 2) - 为什么要这样做?除非您对数据有深入的了解,并且知道这正是依赖性值的行为方式,否则我不会看到任何意见。它是**正则化**添加到训练中的半定矩阵估计器。是的,这与噪音有关,但这种方式更加复杂,您提供的价值观没有意义。阿尔法应该很小... 1e-3 - 1e-5可能已经是一个很大的价值,你正在添加y ** 2. – lejlot
我明白了,但是在GP模型中实现噪声响应的正确方法是什么? –