回归算法
回归:目标值是一个连续性的值(能在某个区间内取任意数)
线性回归:寻找一种能预测的趋势
线性关系:二维:直线关系;三维:特征,目标值,在平面当中
线性关系模型
(+b是为了对于某个特征的情况更加通用)
线性回归
定义:线性回归通过一个或者多个自变量与因变量之间进行建模的回归分析。其中可以为一个或多个自变量之间的线性组合(线性回归的一种)
一元线性回归:涉及到的变量只有一个
多元线性回归:涉及到的变量两个或两个以上
损失函数(误差大小)
最小二乘法之梯度下降(理解过程)
理解:沿着这个函数下降的方向线,最后就能找到山谷的最低点,然后更新W值
使用:面对训练数据规模十分庞大的任务
sklearn线性回归正规方程、梯度下降API
正规方程:sklearn.linear_model.LinearRegression()
普通最小二乘线性回归;coef_:回归系数
梯度下降:sklearn.linear_model.SGDRegressor()
通过使用SGD最小化线性模型;coef_:回归系数
scikit-learn:优点:封装好,建立模型简单,预测简单;缺点:算法的过程查不到,有些参数都在算法API内部优化
回归性能评估
(均方误差)评价机制:
mean_squared_error
mean_squared_error(y_true,y_pred)
均方误差回归损失
y_true:真实值
y_pred:预测值
return:浮点数结果
(真实值,预测值为标准化之前的值)
梯度下降与正规方程的比较
小规模数据用LinearRegression解决,大规模数据用SGDRegressor解决