python - 我可以在没有任何给定函数形式的情况下使用 Python 中的多变量数据框运行非线性回归吗?

标签 python dataframe machine-learning data-science non-linear-regression

我尝试使用 Python 的 LinearRegression(例如 randomforest、sklearn 等)数据帧来分析多变量。

但是,它显示了巨大的 RMSE,因此我尝试对我的数据应用非线性回归。

我想运行非线性回归来预测商品的值(value),其中包含大量数据(例如质量、生产年份、工厂编号、整体状况和大量类别......)。

我尝试在 Google 和 Stackoverflow 上查找,但我只能找到使用 curve_fit、polyfit 方式,它已经预测了 X 和 Y 之间的函数形式。 此外,我的输入数据键值大于 10,因此我想使用 ML 或其他一些包来应用非线性回归。

请帮助我并给我建议!

最佳答案

如果您希望在对应用于一个或多个预测变量的函数进行最小假设的情况下拟合一条数据曲线,那么您就进入了非参数回归领域。

对于线性回归,您正在考虑以下一些变体: y = f(x) + u,通常采用类似于 y = B_0 + B_1*x_1 + u 的形式,其中假设参数和数据都是线性的。

非参数方法尝试估计函数的形式,而不仅仅是模型中的B

一些简单的非参数方法通常被称为“平滑器”;这些尝试使数据拟合出一条平滑的线(散点图中的计算轨迹就是一个例子)。其他方法尝试运行回归,对数据点的距离进行某种形式的加权,或者进行其他有助于拟合直线的惩罚,而不受整个数据集线性等假设的约束;其中最突出的两个是 loesslowess (两个不同的东西,而不仅仅是拼写偏好)。与任何方法一样,选择其中一种方法都有理由,每种方法都有缺点和优点,并且在不加区别地使用它们之前需要进行一些阅读。

如需更详细的说明,this is a really good presentation .

要在 Python 中解决此问题,here is the documentation on statsmodels' 非参数方法库。

关于python - 我可以在没有任何给定函数形式的情况下使用 Python 中的多变量数据框运行非线性回归吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60015632/

相关文章:

python - 从列表中拆分聊天记录

python - 通过分隔符将 Pandas Series 拆分为 DataFrame

python - 基于 2 个数据帧的 pandas 高效数据操作

python-3.x - 为什么使用 .loc 引发 SettingWithCopyWarning?

python - 根据两个值之间的索引填充 Pandas 数据框

python - Google Drive drive.files.get API 经常出现 HTTP 500 内部错误

python - 从二进制字符串python写入mp4文件

matlab - 朴素分类器matlab

python - Keras:处理自定义 PIL 逊相关指标的批量大小维度

python - 将标准缩放器应用于投票分类器中的一个模型