• scikit-learn: isotonic regression(保序回归,非常有意思,仅做知识点了解,但差点儿没用到过)


    http://scikit-learn.org/stable/auto_examples/plot_isotonic_regression.html#example-plot-isotonic-regression-py


    代码就不贴了,參考上面链接。

    看代码,给人的直观感受类似于CART,具有分段回归的效果。

    只是非常少见人用这种方法,还是推荐使用CART吧,只是了解一下思想罢了。

    。。


    给个简单的样例:

    问题描写叙述:给定一个无序数字序列y,通过改动每一个元素的值得到一个非递减序列 y‘ ,问怎样使y和 y’ 误差(该处取平方差)最小?

    保序回归法:从该序列y的首元素往后观察,一旦出现乱序现象停止该轮观察,从该乱序元素開始逐个吸收紧跟在后面的元素组成一个子序列sub_y,直到子序列sub_y全部元素的平均值小于或等于下一个待吸收的元素。

    举例:

    原始序列:<9, 10, 14>

    结果序列:<9, 10, 14>

    分析:从9往后观察,到最后的元素14都未发现乱序情况。不用处理。

    原始序列:<9, 14, 10>

    结果序列:<9, 12, 12>

    分析:从9往后观察。观察到14时发生乱序(14>10),停止该轮观察转入吸收元素处理。吸收元素10后子序列为<14, 10>,取该序列全部元素的平均值得12,故用序列<12, 12>替代<14, 10>。

    吸收10后已经到了最后的元素,处理操作完毕。

    原始序列:<14, 9, 10,  15>

    结果序列:<11, 11, 11, 15>

    分析:从14往后观察,观察到9时发生乱序(14>9)。停止该轮观察转入吸收元素处理。吸收元素9后子序列为<14, 9>。求该序列全部元素的平均值得12.5。因为12.5大于下个带吸收的元素10,所以再吸收10,得序列<14, 9, 10>。

    求该序列全部元素的平均值得11。因为11小于下个带吸收的元素15。所以停止吸收操作,用序列<11, 11, 11>替代<14, 9, 10>。




    example from:http://blog.csdn.net/fsz521/article/details/7706250


  • 相关阅读:
    数据库范式
    java String.split()用法
    1.4 IoC控制反转
    利用shrinkwrap锁定依赖版本
    清晨开启电脑自动拉取项目更新
    JS如何获取屏幕、浏览器及网页高度宽度?
    Navigator 对象,能够清楚地知道浏览器的相关信息
    iconfont 转换为图标字体
    VS code的搜索、替换与正则替换
    点九图制作方法
  • 原文地址:https://www.cnblogs.com/lytwajue/p/6919114.html
Copyright © 2020-2023  润新知