回归

回归三大模型

  • 线性回归
  • 岭回归
  • LASSO回归

机器学习十讲-第二讲回归_数据集

 

使用回归模型预测鲍鱼年龄

一、导入数据,进行分析

机器学习十讲-第二讲回归_数据集_02

 

 可以看出鲍鱼有9个特征

每个特征所对应的数据代表的含义是:

机器学习十讲-第二讲回归_岭回归_03

 

 数据集一共有 4177 个样本,每个样本有 9 个特征。其中 ​​rings​​​ 为鲍鱼环数,能够代表鲍鱼年龄,是预测变量。除了 ​​sex​​ 为离散特征,其余都为连续变量。

首先借助 ​​seaborn​​​ 中的 ​​countplot​​​ 函数绘制条形图,观察 ​​sex​​ 列的取值分布情况。

机器学习十讲-第二讲回归_机器学习_04

 

 对于连续特征,可以使用 ​​seaborn​​​ 的 ​​distplot​​ 函数绘制直方图观察特征取值情况。我们将 8 个连续特征的直方图绘制在一个 4 行 2 列的子图布局中。

机器学习十讲-第二讲回归_数据集_05

 

 也可以通过,热力图来展示性别对其他特征的影响

机器学习十讲-第二讲回归_机器学习_06

 

 为了定量地分析特征之间的线性相关性,我们计算特征之间的相关系数矩阵,并借助热力图将相关性可视化。

机器学习十讲-第二讲回归_线性回归_07

机器学习十讲-第二讲回归_机器学习_08

 

 

二、鲍鱼数据预处理

对 ​​sex​​ 特征进行 OneHot 编码

机器学习十讲-第二讲回归_线性回归_09

添加取值为 1 的特征(若是用sklearn中的linear_model里的回归函数,则不必添加)

机器学习十讲-第二讲回归_数据集_10

根据鲍鱼环计算年龄

一般每过一年,鲍鱼就会在其壳上留下一道深深的印记,这叫生长纹,就相当于树木的年轮。在本数据集中,我们要预测的是鲍鱼的年龄,可以通过环数 ​​rings​​ 加上 1.5 得到。

机器学习十讲-第二讲回归_岭回归_11

构造两组特征集

机器学习十讲-第二讲回归_机器学习_12

将鲍鱼数据集划分为训练集和测试集

机器学习十讲-第二讲回归_机器学习_13

实现线性回归和岭回归

构建自己的线性回归方程

机器学习十讲-第二讲回归_数据集_14

 

 

机器学习十讲-第二讲回归_岭回归_15

 

机器学习十讲-第二讲回归_机器学习_16

 

 使用sklearn里的线性方程

这里所用的训练集的参数:是不包含ones那一列的

机器学习十讲-第二讲回归_数据集_17

 

 可见结果值相同,我们使用 ​​Numpy​​​ 实现的线性回归模型与 ​​sklearn​​ 得到的结果是一致的。

构建自己的岭回归方程

机器学习十讲-第二讲回归_线性回归_18

 

 

机器学习十讲-第二讲回归_岭回归_19

 

 

 使用sklearn里的岭回归方程

机器学习十讲-第二讲回归_机器学习_20

使用 LASSO 构建鲍鱼年龄预测模型

机器学习十讲-第二讲回归_岭回归_21

 

 

鲍鱼年龄预测模型效果评估

机器学习十讲-第二讲回归_数据集_22

 

可以看出:岭回归和线性回归比较好

 

机器学习十讲-第二讲回归_机器学习_23

可以看出三者都不好,岭回归相对好

 

 

机器学习十讲-第二讲回归_线性回归_24