• 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,把工作和学习当作享受吧。近一年来大部分时间在家远程工作,一开始觉得无聊,空虚,没有归属感,后来开始享受这种自由,最后,在得到的自由浓度足够高时,竟然奇迹般地不厌恶工作了!希望大家都能找到轻松愉悦的工作状态:)

  • 相关阅读:
    python sys.path.append
    python中的map()函数
    python中的map、filter、reduce函数
    上传文件2.0--drp203
    The import org.apache.commons.fileupload cannot be resolved
    让我会好好学习一阵子的东西
    【JSP】--Error错误页设置,声明式异常--188 drp
    【JSP】--重定向,转发--186 drp
    【JSP】--路径问题--如何去掉../,直接写绝对路径
    主备切换,双机热备,负载均衡,nginx
  • 原文地址:https://www.cnblogs.com/turingbrain/p/7295973.html
Copyright © 2020-2023  润新知