Scikit learn 带ransacregrator的多项式的极限允许值

Scikit learn 带ransacregrator的多项式的极限允许值,scikit-learn,regression,loss,ransac,Scikit Learn,Regression,Loss,Ransac,我将以下白色像素作为输入数据,并使用sklearn.linear_model.ransacregrator拟合2次多项式(二次)以避免异常值。这种情况下的结果显示为红色,完全正确: 然而,我知道在我的应用程序中,二次曲线的最小值/最大值总是在这张图像的右侧(但我不知道在哪个高度),曲率不会那么强。 换言之:我已经知道我的最佳拟合应该像蓝线一样,其他点都是腐败的异常值 是否有办法通过(例如)提供损失函数来控制或限制TransacRecgressor的结果,该函数惩罚非常强的曲率,但在使用较低的曲

我将以下白色像素作为输入数据,并使用sklearn.linear_model.ransacregrator拟合2次多项式(二次)以避免异常值。这种情况下的结果显示为红色,完全正确:

然而,我知道在我的应用程序中,二次曲线的最小值/最大值总是在这张图像的右侧(但我不知道在哪个高度),曲率不会那么强。 换言之:我已经知道我的最佳拟合应该像蓝线一样,其他点都是腐败的异常值

是否有办法通过(例如)提供损失函数来控制或限制TransacRecgressor的结果,该函数惩罚非常强的曲率,但在使用较低的曲率时仍试图找到最佳拟合

提前感谢您提供的任何提示或链接:-)

好的,我找到了一种简单(但很可能是昂贵)的方法:

def is_model_valid(estimator, X, y):
    return abs(estimator.coef_[2]) < 0.001
好的,我找到了一种简单(但很可能是昂贵)的方法:

def is_model_valid(estimator, X, y):
    return abs(estimator.coef_[2]) < 0.001