朴素贝叶斯是解决分类任务的好起点,线性回归是解决回归任务的好起点。

简单线性回归

将数据拟合成一条直线。

y = ax + b , a 是斜率, b是直线截距

原始数据如下:

使用LinearRegression评估器来拟合数据

除了简单的直线拟合,还可以处理多维度的线性回归模型。

基函数回归

使用基函数 对原始数据进行变换,从而将变量间的线性回归模型 转换为非线性回归模型。

一维的输入变量x 转换成了 三维变量 x1 x2 x3.

转换后的模型仍然是一个线性模型。将一维的x投影到了高维空间

  • 多项式基函数

    多项式投影非常有用。 使用PloynomialFeatures转换器。



    转换器通过指数函数,将一维数组转换成了三维数组,这个新的高维数组之后可以放在多项式回归模型中。

使用管道实现这些过程。

  • 高斯基函数

阴影部分代表不同规模的基函数。把他们放在一起是就会产生平滑的曲线。

正则化

在线性回归引入基函数会让模型变得灵活,但是也更容易过拟合,



当 基函数 重叠的时候,通常就表明出现了过拟合: 相邻基函数的系数相互抵消。 这显然是有问题的。如果对较大的模型参数进行惩罚, penalize .从而一直模型的剧烈波动。这个惩罚机制 被称为 正则化。

  • 岭回归 L2范数正则化

    正则化最常见的形式就是 岭回归 ridge regression. 处理方法是 对模型系数 平方和进行惩罚,

a 是一个自由参数,用来控制惩罚力度,这种带惩罚项的模型内置在Scikit-Learn的Ridge评估器中。



  • Lasso正则化

    其处理方法是堆模型系数绝对值的和 进行惩罚。



    通过lasso回归惩罚,大多数基函数的系数都变成了0. 所以模型变成了原来基函数的一小部分

案列:预测自行车流量

数据源自不同天气 季节和其他条件通过 美国 西雅图 的一座桥的自行车流量

Python数据科学手册-机器学习:线性回归的更多相关文章

  1. Python数据科学手册-机器学习介绍

    机器学习分为俩类: 有监督学习 supervised learning 和 无监督学习 unsupervised learning 有监督学习: 对数据的若干特征与若干标签之间 的关联性 进行建模的过 ...

  2. Python数据科学手册-机器学习:朴素贝叶斯分类

    朴素贝叶斯模型 朴素贝叶斯模型是一组非常简单快速的分类方法,通常适用于维度非常高的数据集.因为运行速度快,可调参数少.是一个快速粗糙的分类基本方案. naive Bayes classifiers 贝 ...

  3. Python数据科学手册-机器学习之特征工程

    特征工程常见示例: 分类数据.文本.图像. 还有提高模型复杂度的 衍生特征 和 处理 缺失数据的填充 方法.这个过程被叫做向量化.把任意格式的数据 转换成具有良好特性的向量形式. 分类特征 比如房屋数 ...

  4. Python数据科学手册-机器学习之模型验证

    模型验证 model validation 就是在选择 模型 和 超参数 之后.通过对训练数据进行学习.对比模型对 已知 数据的预测值和实际值 的差异. 错误的模型验证方法. 用同一套数据训练 和 评 ...

  5. Python数据科学手册-机器学习: k-means聚类/高斯混合模型

    前面学习的无监督学习模型:降维 另一种无监督学习模型:聚类算法. 聚类算法直接冲数据的内在性质中学习最优的划分结果或者确定离散标签类型. 最简单最容易理解的聚类算法可能是 k-means聚类算法了. ...

  6. Python数据科学手册-机器学习: 流形学习

    PCA对非线性的数据集处理效果不太好. 另一种方法 流形学习 manifold learning 是一种无监督评估器,试图将一个低维度流形嵌入到一个高纬度 空间来描述数据集 . 类似 一张纸 (二维) ...

  7. Python数据科学手册-机器学习: 主成分分析

    PCA principal component analysis 主成分分析是一个快速灵活的数据降维无监督方法, 可视化一个包含200个数据点的二维数据集 x 和 y有线性关系,无监督学习希望探索x值 ...

  8. Python数据科学手册-机器学习: 决策树与随机森林

    无参数 算法 随机森林 随机森林是一种集成方法,集成多个比较简单的评估器形成累计效果. 导入标准程序库 随机森林的诱因: 决策树 随机森林是建立在决策树 基础上 的集成学习器 建一颗决策树 二叉决策树 ...

  9. Python数据科学手册-机器学习: 支持向量机

    support vector machine SVM 是非常强大. 灵活的有监督学习算法, 可以用于分类和回归. 贝叶斯分类器,对每个类进行了随机分布的假设,用生成的模型估计 新数据点 的标签.是属于 ...

随机推荐

  1. 聊聊 Netty 那些事儿之 Reactor 在 Netty 中的实现(创建篇)

    本系列Netty源码解析文章基于 4.1.56.Final版本 在上篇文章<聊聊Netty那些事儿之从内核角度看IO模型>中我们花了大量的篇幅来从内核角度详细讲述了五种IO模型的演进过程以 ...

  2. XML方式配置切面

    1. 概述  一个切面中需要包含什么,才能够作用到连接点?切面中是包含通知的,通知作用到连接点需要有切入点表达式. 除了使用AspectJ注解声明切面,Spring也支持在bean配置文件中声明切面. ...

  3. MySQL查询为什么没走索引?这篇文章带你全面解析

    工作中,经常遇到这样的问题,我明明在MySQL表上面加了索引,为什么执行SQL查询的时候却没有用到索引? 同一条SQL有时候查询用到了索引,有时候却没用到索引,这是咋回事? 原因可能是索引失效了,失效 ...

  4. 4-11 Spring Security及SSO

    1. 关于用户身份认证与授权 Spring Security是用于解决认证与授权的框架. 在根项目下创建新的csmall-passport子模块,最基础的依赖项包括spring-boot-starte ...

  5. 可视化查询(sp_helptext)——快速查询包含指定字符串的存储过程(附源码)

    前言 在开发中,随着业务逻辑的调整,修改存储过程是必不可免的. 那怎么定位到需要修改的存储过程呢?一个一个的点开查询?存储过程少的话还行,一旦存储过程过多,这样是很浪费时间的,一个不注意还会遗漏掉. ...

  6. .NET Core 实现后台任务(定时任务)Longbow.Tasks 组件(三)

    原文链接:https://www.cnblogs.com/ysmc/p/16512309.html 在上两篇文章中,简单介绍了怎么使用 IHostedService 与 BackgroundServi ...

  7. Linux服务器挂载windows共享文件夹和nas存储

    需求: 公司有3.4T多的小文件需要copy到公司内部的nas存储中,由于小文件太多,数据量太大,整盘copy时速度极慢:只能人工对3.4T多的数据分批次的导入,这对于搞计算机的来说是不能忍受的,于是 ...

  8. Yii ACF(accessController)简单控权

    use yii\filters\AccessControl; class SiteController extends Controller { public function behaviors() ...

  9. LitJson报错记录

    1.float转double报错 报错类型: Max allowed object depth reached while trying to export from type System.Coll ...

  10. 使用java随机生成有个性的用户名,LOL地名+水浒传,合计2808个有意思的用户名

    * 随机生成用户名 * 取水浒传108好汉名字 * 取LOL地名26个,组合而成 * 一共可以生成2808个不同特色的用户名 如果你在上网的时候,用户名难取的话,这里有很多可选择的用户名,现提供100 ...