zoukankan      html  css  js  c++  java
  • 16-把直的都掰弯了~好魔性的多项式回归

    小时候的世界是单纯的,非黑即白,人的性格也是RIO耿直,不懂得掩饰,在他人面前展露无遗,没有那么多防范。后来发现,现实世界是个错综复杂的函数,不一定是garbage in, garbage out;有时候也会garbage in, master piece out(我是在贩卖毒鸡汤吗?Σ(っ °Д °;)っ)。总之,没有那么多想当然。同样,在机器学习的世界里,一条直线往往无法拟合那些变幻莫测的数据点,这样做too simple,sometimes naive。如果直的不行,那用弯的可以吗?事实证明,二次曲线有时比直线拟合效果好得多。将低维转化为高维,很多之前想不通、看不透的都瓦解冰消,这是认知上的胜利,值得每个人去追求。

    下面我们来学习在sklearn中将直线掰成曲线的正确姿势:)

    代码地址:http://pan.baidu.com/s/1eRI8lSA

    1

    二次曲线拟合vs直线拟合

    图上可以发现 quadratic fit 比 linear fit 效果更好。

    MSE 下降到61, R^2 上升到98%, 说明在这个数据集上 quadratic fit 效果更好。

    2

    波士顿房价数据的非线性关系建模

    首先回顾一下波士顿房价数据的scatterplot matrix:

    • LSTAT    % lower status of the population 低层人口比例

    • MEDV     Median value of owner-occupied homes in $1000's 业主自住房屋中值 (要预测的变量)

    下面我们将house prices 与 LSTAT 做 quadratic 及 cubic polynomials fit,并与 linear fit 对比:

    对比R^2,可以看出拟合效果 cubic fit (R^2=0.66) > quadratic fit (R^2=0.64) > linear fit (R^2=0.54) 。

    下面尝试一种全新的转化:Transforming the dataset by log。

    经过 log 变换后,线性拟合效果不错(R^2=0.69),比单纯 polynomial fit 更好。

    看了这次笔记,你是不是也跃跃欲试了?不要害怕get your hands dirty,把工作和学习当作享受吧。近一年来大部分时间在家远程工作,一开始觉得无聊,空虚,没有归属感,后来开始享受这种自由,最后,在得到的自由浓度足够高时,竟然奇迹般地不厌恶工作了!希望大家都能找到轻松愉悦的工作状态:)

  • 相关阅读:
    WF4.0 Beta1 自定义跟踪
    WF4.0 Beta1 流程设计器与Activity Designer
    新版本工作流平台的 (二) 权限算法(组织结构部分)
    WF4.0 Beta1 WorkflowInvoker
    WF4.0 基础篇 (十) Collection 集合操作
    WF4.0 基础篇 (十五) TransactionScope 事物容器
    WF4.0 基础篇 (六) 数据的传递 Arguments 参数
    WF4B1 的Procedural Activity 之InvokeMethod , InvokeMethod<T> 使用
    WF4.0 Beta1 异常处理
    WF4.0 Beta1 变量 Variables
  • 原文地址:https://www.cnblogs.com/turingbrain/p/7295973.html
Copyright © 2011-2022 走看看