一、一元线性回归
线性回归 可以理解为 数学里面的 一元二次方程
根据已有的数据绘制拟合回归线
如: y = kx + b
数学里面 :k 是斜率 ,b 是截距
机器学习里面:k 是权重 -> weight -> 简称 w
b 是偏置 -> bias -> 简称 b
预测本质就是 y = wx + b 通过已有数据 求出 w 和 b
再对新数据进行预测 y 就是标签,x 就是特征
二、多元线性回归:
利用回归方程(函数),对 一个或者多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式
例如:还是以房子为例。
求房价(目标值)= 房子面积(x1)*权重(w1) + 房子楼层(x2)*权重(w2)+........+b
公式怎么推导?
1.把w和x 提取出来
数据集 w = [w1,w2,w3...] x = [x1,x2,x3...]
w矩阵:
2.可以直接用w乘以x吗?不能,因为他没有满足矩阵相乘条件。
条件:A矩阵的列等于B矩阵行
所以考虑改变它的形状,转为A列等于B的行。考虑使用T(转置)->
b 看成一个 wn * xn, = b * 1 ,也就是wn = b ,xn = 1
所以矩阵第一个是w矩阵 第一个元素是b,x矩阵第一个是1
三、线性回归的API
from sklearn.linear_model import LinearRegression #1 数据 #身高 - 数据集 - 特征 x_train = [[160], [166], [172], [174], [180]] #体重 - 数据集 - 标签 y_train = [56.3,60.6,65.1,68.5,75] #测试集 x_test = [[176]] #2.创建线性回归的模型 model = LinearRegression() #3.模型训练 model.fit(x_train, y_train) #4.模型预测 y_predict = model.predict(x_test) #5.预测值 print(y_predict) #6 权重 y=wx+b print(f'模型内容:{model.__dict__}') print(f'w权重(斜率):{model.coef_}') print(f'b偏置(截距):{model.intercept_}')四、损失函数
误差 = 真实值 - 预测值
衡量每个样本预测值与真实值效果的函数,也叫(代价函数、成本函数、目标函数)
最小二乘法 (MAE)
每个样本的误差值的平方和。i = 不同样本
均方误差:(MSE)
每个样本的误差值的平方和的平均值
平均绝对误差(RMSE)
i 从0 或者 从1 开始。取决于 编程思想还是数学思想。