我尝试使用LinearRegression来分析多变量(例如随机森林、sklearn等)。使用Python的数据帧。
然而,它显示了一个巨大的RMSE,所以我尝试对我的数据应用非线性回归。
我想运行一个非线性回归来预测商品的价值,使用大量的数据(例如,质量,生产年份,工厂数量,整体状况和许多类别……)。
我试着在谷歌和Stackoverflow上寻找,但我只能找到使用curve_fit,polyfit的方法,它已经预测了X和Y之间的函数形式。另外,我的输入数据键值大于10,所以我想使用ML或其他一些软件包来应用非线性回归。
请帮助我并给我建议!
发布于 2020-02-05 04:59:57
如果您希望在对应用于一个或多个预测器的函数进行最小假设的情况下将曲线拟合到数据,那么您就进入了非参数回归的领域。
对于线性回归,您正在考虑:y = f(x) + u
的一些变化,通常采用类似y = B_0 + B_1*x_1 + u
的形式,其中假设参数和数据都是线性的。
非参数方法试图估计函数的形式,而不仅仅是模型中的B
。
一些简单的非参数方法通常被称为“平滑器”;这些方法旨在将平滑线拟合到数据(散点图中的计算轨迹就是一个例子)。其他方法试图运行回归,对数据点的距离进行某种形式的加权,或者其他惩罚,帮助拟合线条,而不受整个数据集上的线性等假设的约束;其中最突出的几个是loess
& lowess
(两个截然不同的东西,而不仅仅是拼写偏好)。与任何方法一样,有理由选择一种而不是另一种,每种方法都有缺点和优点,并且在不加区别地使用它们之前需要稍微阅读一下。
有关更详细的解释,请访问this is a really good presentation。
要在Python中解决这个问题,可以在statsmodels
的非参数方法库上使用here is the documentation。
https://stackoverflow.com/questions/60015632
复制相似问题