使用scikit限制线性回归预测值

atl*_*tis 3 python linear-regression scikits

我正在使用数据集训练线性回归模型,该数据集在区间[0,10]中具有实值标签.我在测试集上的预测值有一些超过10的预测.有没有办法将预测限制在10.

我正在考虑进行条件检查,如果预测超过10,我明确地将其设置为10.

有没有更好的办法?

Fre*_*Foo 6

如果y是回归对象的predict方法的输出,那么你可以Numpy's minimum将其限制为10:

y = np.minimum(y, 10.)
Run Code Online (Sandbox Code Playgroud)

要将其限制在零以下,请执行

y = np.maximum(np.minimum(y, 10.), 0.)
Run Code Online (Sandbox Code Playgroud)

或者,更短:

y = np.clip(y, 0., 10.)
Run Code Online (Sandbox Code Playgroud)