码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-05-29 22:22:51      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:观察   car   iso   序列   等于   line   bottom   ble   简单   

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


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

标签:观察   car   iso   序列   等于   line   bottom   ble   简单   

原文地址:http://www.cnblogs.com/lytwajue/p/6919114.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!