天天看点

sklearn 线性回归_Python机器学习之线性回归入门(二)

sklearn 线性回归_Python机器学习之线性回归入门(二)

线性回归原理介绍

文章目录

  • 机器学习分类
  • 线性回归原理
  • 线性回归定义
  • 线性回归背后矩阵运算

机器学习分类

机器学习的主要任务便是聚焦于两个问题:分类和回归

  1. 分类相信大家都不会陌生,生活中会见到很多的应用,比如垃圾邮件识别、信用卡发放等等,就是基于数据集,作出二分类或者多分类的选择
  2. 回归会给出一个具体的结果,例如房价的数据,根据位置、周边、配套等等这些维度,给出一个房价的预测

机器学习在不同的维度会有不同的划分,最普遍的划分大致可以分为监督学习、非监督学习、半监督学习、增强学习

监督学习的数据集拥有既定的标签,即训练的数据集已经有了某种特定的属性,例如医院有很多病人的数据,可以根据患者的数据进行病情的鉴定、银行有很多人的信用信息,根据这些信息可以判定申请人的信用程度等等。

非监督学习的数据集没有任何既定标签,完全让算法去分析这些数据,找出一些特殊情况,大多数聚类算法都是非监督学习。

半监督学习,虽然数据集有既定标签,但是有时候有些数据会有缺失,例如银行信用体系中,有些人的年龄数据缺失、有些人性别数据缺失等等。

增强学习,即根据当下的环境不断的去学习,不断的发现数据集,不断的训练自己,例如阿尔法狗以及无人驾驶等,都是增强学习的应用。

线性回归原理

下面的数据很容易获得房屋面积与价格之间的关系面积 * 2.1 = 价格,在二维的线性关系公式为:y = kx + b 添加b是为了单个特征的情况更通用,例如x=0时y可以不经过原点

sklearn 线性回归_Python机器学习之线性回归入门(二)

如果是多个特征例如房子重要的两个参数 面积,位置。那么多特征公式为:k1房子面积 + k2房子位置 + b

线性回归定义

线性回归通过一个或者多个自变量与因变量之间进行建模的回归分析,其中可以为一个或者多个自变量之间的线性组合

  1. 一元线性回归:涉及到的变量只有一个
  2. 多元线性回归:涉及到的变量两个或者两个以上
sklearn 线性回归_Python机器学习之线性回归入门(二)

线性回归背后矩阵运算

矩阵乘法必须满足特定条件:(m行,L列) * (L行,n列) = (m行,n列), 矩阵的乘法背后的业务逻辑就是多元线性回归的公式
sklearn 线性回归_Python机器学习之线性回归入门(二)
sklearn 线性回归_Python机器学习之线性回归入门(二)

sklearn机器学习框架

文章目录

  • sklearn库简介
  • Sklearn体系结构
  • 加载数据
  • 区分测试集训练集

sklearn库简介

Scikit learn 也简称 sklearn, 是机器学习领域当中最知名的 python 模块之一

  1. Classification 分类
  2. Regression 回归
  3. Clustering 非监督分类
  4. Dimensionality reduction 数据降维
  5. Model Selection 模型选择
  6. Preprocessing 数据预处理

Sklearn体系结构

sklearn 线性回归_Python机器学习之线性回归入门(二)
  1. 分类和回归是监督式学习,即每个数据对应一个 label。
  2. 聚类 是非监督式学习,即没有 label。
  3. 另外一类是 降维,当数据集有很多很多属性的时候,可以通过 降维 算法把属性归纳起来。例如 20 个属性只变成 2 个,注意,这不是挑出 2 个,而是压缩成为 2 个,它们集合了 20 个属性的所有特征,相当于把重要的信息提取的更好,不重要的信息就不要了。

加载数据

通过pandas可以很方便加载csv,excel,sql,html,json中的数据,加载成功默认保存为DataFrame对象。

sklearn 线性回归_Python机器学习之线性回归入门(二)
区分测试集训练集
sklearn 线性回归_Python机器学习之线性回归入门(二)

线性回归极简案例

文章目录

  • 使用模型的步骤
  • 训练本质就是找权重与偏置
  • 测试集与绝对值误差

使用模型的步骤

Sklearn 把所有机器学习的模式整合统一起来了,学会了一个模式就可以通吃其他不同类型的学习模式
  1. 导入模块
  2. 读入数据
  3. 建立模型
  4. 训练与测试

训练本质就是找权重与偏置

sklearn 线性回归_Python机器学习之线性回归入门(二)
测试集与绝对值误差
sklearn 线性回归_Python机器学习之线性回归入门(二)

线性回归的缺点

文章目录

  • 单项式缺点
  • 构建单项式回归
  • 单项式缺点

y = wx + b 这种单项式在数学模型中表示一根直线,但是生产环境中很多的数据例如股票,销售涨跌它都是曲线结构的,这就会导致单项式的线性回归预测率低

构建单项式回归

大家可以看到,单项式线性回归在可视化中生成的就是一条直线,直线的情况下预测曲线的真实数据是非常低的,因此一章节我们就来看如何采用多项式预测曲线数据

sklearn 线性回归_Python机器学习之线性回归入门(二)
sklearn 线性回归_Python机器学习之线性回归入门(二)

手写多项式回归

文章目录

  • 多项式回归场景
  • 创建待分析的样本
  • 多项式预测样本

多项式回归场景

直线回归研究的是一个依变量与一个自变量之间的回归问题,但是,在畜禽、水产科学领域的许多实际问题中,影响依变量的自变量往往不止一个,而是多个,比如绵羊的产毛量这一变量同时受到绵羊体重、胸围、体长等多个变量的影响,因此需要进行一个依变量与多个自变量间的回归分析,即多元回归分析

研究一个因变量与一个或多个自变量间多项式的回归分析方法,称为多项式回归(Polynomial Regression)。如果自变量只有一个时,称为一元多项式回归;如果自变量有多个时,称为多元多项式回归。在一元回归分析中,如果依变量y与自变量x的关系为非线性的,但是又找不到适当的函数曲线来拟合,则可以采用一元多项式回归

一元m次多项式回归方程为:

sklearn 线性回归_Python机器学习之线性回归入门(二)

二元二次多项式回归方程为:

sklearn 线性回归_Python机器学习之线性回归入门(二)
创建待分析的样本
sklearn 线性回归_Python机器学习之线性回归入门(二)
sklearn 线性回归_Python机器学习之线性回归入门(二)
多项式预测样本
sklearn 线性回归_Python机器学习之线性回归入门(二)
sklearn 线性回归_Python机器学习之线性回归入门(二)
sklearn 线性回归_Python机器学习之线性回归入门(二)
sklearn 线性回归_Python机器学习之线性回归入门(二)