使用python进行非线性回归-有什么简单的方法可以更好地拟合此数据?

我有一些想要拟合的数据,因此我可以对给定温度的物理参数值进行一些估计。

我将 numpy.polyfit 用于二次模型,但拟合并不像我希望的那么好,而且我对回归没有太多经验。

我已经包括了散点图和numpy提供的模型: S vs Temperature; 蓝点是实验数据,黑线是模型

x轴是温度(以C为单位),y轴是参数,我们将其称为S。这是实验数据,但理论上S随着温度的升高趋于0,而随着温度的降低趋于1。

我的问题是:如何更好地拟合这些数据?我应该使用哪些库,什么样的函数可以比多项式更好地近似这些数据,等等?

如果有帮助,我可以提供代码,多项式系数等。

这是指向我的数据的Dropbox链接。(避免混淆的重要说明,虽然它不会改变实际回归,但此数据集中的温度列是 Tc - T,其中 Tc 是转变温度(40C)。我通过计算 40 使用 Pandas 将其转换为 T - X)。


HUWWW
浏览 296回答 3
3回答

GCT1015

对于非线性回归问题,您可以尝试使用 sklearn 的 SVR()、KNeighborsRegressor() 或 DecisionTreeRegression(),并在测试集上比较模型性能。

心有法竹

在Scikit Learn中,您可以使用多项式特征来首先转换您的训练数据以具有更大的自由度。之后,您可以使用岭回归来拟合您的训练数据。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python