线性回归原理介绍

文章目录

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

机器学习分类

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

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

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

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

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

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

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

线性回归原理

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

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

线性回归定义

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

  1. 一元线性回归:涉及到的变量只有一个
  2. 多元线性回归:涉及到的变量两个或者两个以上

线性回归背后矩阵运算

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

sklearn机器学习框架

文章目录

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

sklearn库简介

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

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

Sklearn体系结构

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

加载数据

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

区分测试集训练集

线性回归极简案例

文章目录

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

使用模型的步骤

Sklearn 把所有机器学习的模式整合统一起来了,学会了一个模式就可以通吃其他不同类型的学习模式

  1. 导入模块
  2. 读入数据
  3. 建立模型
  4. 训练与测试

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

测试集与绝对值误差

线性回归的缺点

文章目录

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

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

构建单项式回归

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

手写多项式回归

文章目录

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

多项式回归场景

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

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

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

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

创建待分析的样本

多项式预测样本

opencv机器学习线性回归_Python机器学习之?线性回归入门(二)相关推荐

  1. python机器学习库_Python机器学习库 Top 10,你值得拥有!

    随着人工智能技术的发展与普及,Python超越了许多其他编程语言,成为了机器学习领域中最热门最常用的编程语言之一.有许多原因致使Python在众多开发者中如此受追捧,其中之一便是其拥有大量的与机器学习 ...

  2. python 多元线性回归_Python机器学习,多元线性回归分析问题

    @Author:润森,Runsen,公众号:润森笔记 什么是多元线性回归 在回归分析中,如果有两个或两个以上的自变量,就称为多元回归.**事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组 ...

  3. python交叉验证结合线性回归_Python机器学习之交叉验证

    交叉验证是一种非常常用的对于模型泛化能力进行评估 方法,交叉验证既可以解决数据集的数据量不够大问题,也可以解决参数调优的问题.常用的交叉验证方法有:简单交叉验证(HoldOut检验,例如train_t ...

  4. numpy多元线性回归_Python 实战多元线性回归模型,附带原理+代码

    作者 | 萝卜来源 | 早起Python( ID:zaoqi-python ) 「多元线性回归模型」非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有许多值得学习和注意的地方.其中多元 ...

  5. python机器学习彩票_Python机器学习及实战kaggle从零到竞赛PDF电子版分享

    Python机器学习及实战kaggle从零到竞赛PDF电子版分享 本书面向对机器学习感兴趣的专业认识,帮助从零开始一步一步掌握机器学习的奥义,在阅读的过程中由浅入深,慢慢步入机器学习的殿堂,零基础也可 ...

  6. python一元线性回归_Python实现——一元线性回归(梯度下降法)

    2019/3/25 一元线性回归--梯度下降/最小二乘法又名:一两位小数点的悲剧 感觉这个才是真正的重头戏,毕竟前两者都是更倾向于直接使用公式,而不是让计算机一步步去接近真相,而这个梯度下降就不一样了 ...

  7. python实现最小二乘法的线性回归_Python中的线性回归与闭式普通最小二乘法

    我正在尝试使用python对一个包含大约50个特性的9个样本的数据集应用线性回归方法.我尝试过不同的线性回归方法,即闭式OLS(普通最小二乘法).LR(线性回归).HR(Huber回归).NNLS(非 ...

  8. python 竖线 绘图_Python可视化 | Seaborn5分钟入门(二)——barplot countplot

    Seaborn是基于matplotlib的Python可视化库. 它提供了一个高级界面来绘制有吸引力的统计图形.Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图 ...

  9. l2正则化python_机器学习入门之机器学习之路: python线性回归 过拟合 L1与L2正则化...

    本文主要向大家介绍了机器学习入门之机器学习之路: python线性回归 过拟合 L1与L2正则化,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助. 正则化:    提高模型在未知数据上的 ...

最新文章

  1. python使用imbalanced-learn的EditedNearestNeighbours方法进行下采样处理数据不平衡问题
  2. TensorFlow人工智能引擎入门教程之十 最强网络 RSNN深度残差网络 平均准确率96-99%
  3. 解决Error: Cannot find module 'node-sass'问题
  4. 老股民经验之谈 这些股票买入必死无疑
  5. ibatis中resultClass与resultMap 的区别
  6. C#的变迁史10 - C# 5.0 之其他增强篇
  7. sprintf()、fprintf()的使用方法
  8. edpluse怎么运行c语言,[JSP]小菜也来学Editplus+Tomcat配置jsp运行环境
  9. metrics类型 普罗米修斯_AspNet Core 下利用普罗米修斯+Grafana构建Metrics和服务器性能的监控...
  10. Linux 原来实现一个shell这么容易!(史上最简单详细)
  11. 欧易OKEx交易大数据:BTC合约多空持仓人数比0.98,合约持仓总量为24.90亿美元
  12. 解读制造业数字化转型的现状及发展趋势
  13. 【阅读】《点石成金:访客至上的网页设计秘籍》读书笔记
  14. oracle中有没有=,在oracle中有没有方式来实现这样的统计啊?
  15. fontawesome 助手
  16. 编码论——PNG格式图片编码
  17. VuePress开启评论、VuePress评论功能。
  18. dw中css面板在哪,请问下美工设计师:1、怎么在DWCS5设计面板里面找到CSS代码? 爱问知识人...
  19. SAP ABAP SD常用函数或BAPI
  20. solr mysql 全文搜索_全文检索Solr集成HanLP中文分词

热门文章

  1. java 数据类型 string_java的基本数据类型和引用数据类型都有哪些,string属于什么类型...
  2. 信阳农林技术学院经纬度_信阳无人机创业团队:让梦想在田野起飞
  3. 残疾人计算机高考试题,残疾人勇夺玉溪高考榜眼:想去清华学计算机
  4. php清理html table样式,Parse HTML Table - PHP [closed]
  5. ajax传值 实体类_ajax传参到实体类对应字段
  6. python+OpenCV图像处理(六)图像平滑与滤波
  7. 吴恩达作业1:逻辑回归实现猫的分类
  8. MySQL流浪记(一)—— 初步认识数据库的内涵
  9. Java加密与解密的艺术~安全协议~模型分析
  10. Replace Type Code with Subclasses(以子类取代类型码)