线性回归,应用广泛、原理相对简单。主要分为单变量线性回归和多元线性回归。单变量线性回归是在两个变量之间建立类似线性方程的拟合模型,以一个变量去预测另一个变量。
1. 用于回归的线性模型
对于回归问题,线性模型预测的一般公式如下:ŷ = w[0] * x[0] + w[1] * x[1] + … + w[p] * x[p] + b
这里 x[0] 到 x[p] 表示单个数据点的特征(本例中特征个数为 p+1),w 和 b 是学习模型的参数,ŷ 是模型的预测结果。
对于单一特征的数据集,公式如下:ŷ = w[0] * x[0] + b,这就是高中数学里的直线方程。这里 w[0] 是斜率,b 是 y 轴偏移。对于有更多特征的数据集,w 包含沿每个特征坐标轴的斜率。或者,你也可以将预测的响应值看作输入特征的加权求和,权重由 w 的元素给出(可以取负值)。
2. 线性回归(又名普通最小二乘法)线性回归,或者普通最小二乘法(ordinary least squares,OLS),是回归问题最简单也最经典的线性方法。线性回归寻找参数 w 和 b,使得对训练集的预测值与真实的回归目标值 y之间的均方误差最小。均方误差(mean squared error)是预测值与真实值之差的平方和除以样本数。线性回归没有参数,这是一个优点,但也因此无法控制模型的复杂度。
单变量线性回归
案例:波士顿房屋价格的拟合与预测
from sklearn.datasets import load_boston #从sklearn数据集库导入boston数据
import matplotlib.pyplot as plt #导入matplotlib库
import numpy as np #导入numpy库
import pandas as pd #导入pandas库
boston=load_boston() #从读取的房价数据存储在boston变量中
boston.keys() #打印boston包含元素
boston.feature_names #打印boston变量名
Boston房屋价格数据集中data即为特征变量,target为目标变量。选取data中的RM,target是MEDV变量进行单变量线性回归。
###选取RM作为特征变量
bos = pd.DataFrame(boston.