最近感觉学习ml没有什么动力,所有想把sklearn的东西翻译一下,顺便加深自己对算法的理解,也是提高当前本人的英语水平(目前英语惨目忍睹(ノ=Д=)ノ┻━┻)。我会尽量按照我自己的理解来进行翻译,有错还是希望大家能够理解,希望和大家一起学习进步。
1.1.广义线性回归
下面的公式是一组线性回归方法,其中是目标值和真实输入值组合。在数学概念中,假设为预测值。
通过这个模型,我们指定这个向量作为一次性系数coef_以及作为截距intercept_。
要使用广义线性回归进行分类,参考Logistics回归->(这里在之后的1.1.11会涉及到。感觉好多啊,随便都到11)
1.1.1.普通最小二乘
LinerRegression适合用系数进行线性拟合,使用最小二乘来最小化预测值和真实值之间的差距,用预测值来逼近真实值。在数学上解决这个问题用的是一下的公式:
LinearRegression将采用线性拟合的方式拟合数据X和y,并将得到的线性系数存储在coef_成员中:
from sklearn import linear_model
reg=linear_model.LinearRegression()
print(reg.fit([[0,0],[1,1],[2,2]],[0,1,2]))
#LinearRegression(copy_X=True,fit_intercept=True, n_jobs=1, normalize=False)
print(reg.coef_)#[0.5 0.5]
然而,普通的最小二乘法的系数建立依赖于模型项,当得到的矩阵的列有显著的线性相关时,得到的矩阵接近于奇异,导致最小二乘得到的误差值高度敏感,产生大的方差。例如,当没有对数据没有进行有效的处理和收集,就会产生出这种多重共线性的情况。
这个例子只用了糖尿病的第一个特征,画出了二维回归图。如图所示这条直线,可以看到从已知的数据点拟合之后的直线尝试去最小化残差平方和,通过线性的方式进行接近。
这里的系数,残差平方和,方差的值在这里被计算出来。
这里是代码的链接:我是链接