8种用种用Python实现线性回归的方法实现线性回归的方法
抛开涉及大量数统的模型分析和检验不说,你真的就能熟练应用线性回归了么?未必!
“宝刀不老”的线性回归
时至今日,深度学习早已成为数据科学的新宠。即便往前推10年,SVM、boosting等算法也能在准确率上完爆线性回归。
为什么我们还需要线性回归呢?
一方面,线性回归所能够模拟的关系其实远不止线性关系。线性回归中的“线性”指的是系数的线性,而通过对特征的非线性变
换,以及广义线性模型的推广,输出和特征之间的函数关系可以是高度非线性的。另一方面,也是更为重要的一点,线性模型
的易解释性使得它在物理学、经济学、商学等领域中占据了难以取代的地位。
那么,如何用Python来实现线性回归呢?
由于机器学习库scikit-learn的广泛流行,常用的方法是从该库中调用linear_model来拟合数据。虽然这可以提供机器学习的其
他流水线特征(例如:数据归一化,模型系数正则化,将线性模型传递到另一个下游模型)的其他优点,但是当一个数据分析师
需要快速而简便地确定回归系数(和一些基本相关统计量)时,这通常不是最快速简便的方法。
下面,我将介绍一些更快更简洁的方法,但是它们所提供信息量和建模的灵活性不尽相同。
8种方法实现线性回归
方法一:Scipy.polyfit( ) or numpy.polyfit( )
这是一个最基本的最小二乘多项式拟合函数(least squares polynomial fit function),接受数据集和任何维度的多项式函数(由用
户指定),并返回一组使平方误差最小的系数。这里给出函数的详细描述。对于简单的线性回归来说,可以选择1维函数。但是
如果你想拟合更高维的模型,则可以从线性特征数据中构建多项式特征并拟合模型。
方法二:Stats.linregress( )