在写论文过程中,要求采用python做线性回归的方法
已经了解到目前实现线性回归的多个方法
分别是
Scipy.polyfit() or numpy.polyfit()
Stats.linregress()
Optimize.curve_fit()
numpy.linalg.lstsq
Statsmodels.OLS()
使用矩阵的逆求解析解
sklearn.linear_model.LinearRegression()(目前采用这个)
想通过更换实现函数的方式再提升下模型的优度与精度
想通过更换实现函数的方式再提升下模型的优度与精度:
我理解你说的“实现函数”,是指不同 python 工具包中的线性回归的函数,即 API 接口。
如果你的问题是这个意思,那么,这是不可能的。
因为不同工具包中,线性回归的模型和求解方法都是相同的,所以回归的结果也必然是相同的,如果你自己编程或用 Excel 来做同一问题的线性回归,回归系数和模型精度也必然是相同的。各个工具包的函数,就是不同人编写的程序,大家考虑的接口形式略有不同,但数学模型、求解公式、估计结果,都是一样的。
有些模型,允许使用不同的回归方程(如线性、拟线性、多项式),结果和精度不同,其实是使用了不同的回归模型,而不是不同函数的求解精度不同。
参见:
Python数模笔记-StatsModels 统计回归(2)线性回归 https://blog.csdn.net/youcans/article/details/116448853
Python数模笔记-Sklearn(4)线性回归 https://blog.csdn.net/youcans/article/details/116747418
每个实现函数的方法不一样,你使用不同的函数就会有不同的结果,只能通过不同函数的结果进行对比,选取最优解。
如果想优化,可以考虑调参,在sklearn里验证曲线、学习曲线及网格搜索的方法都可以对不同参数进行调整,从而优化结果,下面是我自己写的教程,可以参考:
https://www.yuque.com/docs/share/710ff698-fd56-4a18-822a-a3ecf337f2fb?# 《Python机器学习》