回归里加入截距变量 回归分析中的截距项_线性回归


回归分析是广泛应用的统计分析方法,可用于分析自变量和因变量的影响搞关系(通过自变量求因变量),也可以分析自变量对因变量的影响方向(正影响还是负影响)。回归分析的主要应用场景是进行预测和控制,例如计划制定,KPI制定,目标制定等,也可基于预测数据与实际数据进行比对和分析,确定事件发展程度并给未来行动提供方向性指导。

常用的回归算法包括线性回归、二项式回归、对数回归、指数回归、核SVM、岭回归、Lasso等。

本文注重的是如何用Python实现最简单的一元线性回归,其中包含的统计学知识不做介绍

1.简单的线性回归分析

问题:探讨学习时间长短与学习成绩之前的关系是否符合线性回归

下面看如何用Python实现

大致顺序:1.读取或建立原始数据集→2.数据清洗(本案例不需要)→3.提取特征和标签→4.特征与标签的相关关系→5.建立训练数据集和测试数据集→6.导入线性回归算法、创建模型、训练模型→7.模型评估

(不知道第3步和第4步是不是算作特征工程)

1.1导入相关的包,并建立数据集


回归里加入截距变量 回归分析中的截距项_线性回归_02

注:Python3.7版本中字典dictionary是有序的,不需要OrderDic函数转化为有序字典


1.2提取特征和标签,并绘制散点图


回归里加入截距变量 回归分析中的截距项_简单线性回归截距假设检验_03


1.3利用相关系数,了解两个变量每单位的相关性程度


回归里加入截距变量 回归分析中的截距项_线性回归_04

以对角线为分界线,只需看对角线左侧(或右侧)的数据

1.4提取特征和标签、建立训练数据集和测试数据集并绘制散点图


回归里加入截距变量 回归分析中的截距项_回归里加入截距变量_05

思考题:如何选取训练数据和测试数据?

回归里加入截距变量 回归分析中的截距项_数据集_06


1.5导入线性回归算法→创建模型→训练模型


回归里加入截距变量 回归分析中的截距项_线性回归_07

sklearn要求输入的特征必须是二维数组的类型,但是因为我们目前只有1个特征,所以需要用reshape转行成二维数组的类型。如果reshape的参数是-1,就会根据所给的行数或列数(取决于-1是在括号中行的位置还是列的位置),自动按照原始数组的大小形成新数组。

1.6得到最佳拟合曲线并绘图


回归里加入截距变量 回归分析中的截距项_线性回归_08


1.7模型评估并绘图


回归里加入截距变量 回归分析中的截距项_线性回归_09

注:模型评估要用测试数据来计算,评估内容为决定系数R的平方