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

时间: 2024-10-26 01:54:08

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

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和

机器学习:保序回归(IsotonicRegression):一种可以使资源利用率最大化的算法

1.数学定义 保序回归是回归算法的一种,基本思想是:给定一个有限的实数集合,训练一个模型来最小化下列方程: 并且满足下列约束条件: 2.算法过程说明 从该序列的首元素往后观察,一旦出现乱序现象停止该轮观察,从该乱序元素开始逐个吸收元素组成一个序列,直到该序列所有元素的平均值小于或等于下一个待吸收的元素. 举例: 原始序列:<9, 10, 14> 结果序列:<9, 10, 14> 分析:从9往后观察,到最后的元素14都未发现乱序情况,不用处理. 原始序列:<9, 14, 10&

Spark机器学习(3):保序回归算法

保序回归即给定了一个无序的数字序列,通过修改其中元素的值,得到一个非递减的数字序列,要求是使得误差(预测值和实际值差的平方)最小.比如在动物身上实验某种药物,使用了不同的剂量,按理说剂量越大,有效的比例就应该越高,但是如果发现了剂量大反而有效率降低了,这个时候就只有把无序的两个元素合并了,重新计算有效率,直到计算出来的有效率不大于比下一个元素的有效率. MLlib使用的是PAVA(Pool Adjacent Violators Algorithm)算法,并且是分布式的PAVA算法.首先在每个分区

Spark MLlib 保序回归

"C:\Program Files\Java\jdk1.8.0_181\bin\java" "-javaagent:D:\Software\IntelliJ IDEA 2017.2.2\lib\idea_rt.jar=64070:D:\Software\IntelliJ IDEA 2017.2.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_181\jre\li

MLlib--保序回归

转载请标明出处http://www.cnblogs.com/haozhengfei/p/24cb3f38b55e5d7516d8059f9f105eb6.html 保序回归 1.线性回归VS保序回归    ? 线性回归->线性拟合    ? 保序回归->保序的分段线性拟合,保序回归是拟合原始数据最佳的单调函数 1.1保序回归     保序回归是特殊的线性回归,如果业务上具有单调性,这时候就可以用保序回归,而不是用线性回归. 1.2保序回归应用场景 药剂和中毒的预测,剂量和毒性呈非递减函数 1.

Query意图分析:记一次完整的机器学习过程(scikit learn library学习笔记)

所谓学习问题,是指观察由n个样本组成的集合,并根据这些数据来预测未知数据的性质. 学习任务(一个二分类问题): 区分一个普通的互联网检索Query是否具有某个垂直领域的意图.假设现在有一个O2O领域的垂直搜索引擎,专门为用户提供团购.优惠券的检索:同时存在一个通用的搜索引擎,比如百度,通用搜索引擎希望能够识别出一个Query是否具有O2O检索意图,如果有则调用O2O垂直搜索引擎,获取结果作为通用搜索引擎的结果补充. 我们的目的是学习出一个分类器(classifier),分类器可以理解为一个函数,

Partial least squares regression(偏最小二乘法回归)

偏最小二乘法(PLS)是近年来发展起来的一种新的多元统计分析 http://en.wikipedia.org/wiki/Partial_least_squares_regression Partial least squares regression(偏最小二乘法回归),布布扣,bubuko.com

2015-4-2的阿里巴巴笔试题:乱序的序列保序输出(bit数组实现hash)

分布式系统中的RPC请求经常出现乱序的情况.写一个算法来将一个乱序的序列保序输出.例如,假设起始序号是1,对于(1, 2, 5, 8, 10, 4, 3, 6, 9, 7)这个序列,输出是:123, 4, 567, 8, 9, 10 上述例子中,3到来的时候会发现4,5已经在了.因此将已经满足顺序的整个序列(3, 4, 5)输出为一行. 1 #include<stdio.h> 2 3 int main() 4 { 5 int num ; 6 while(scanf("%d"

ufldl学习笔记与编程作业:Logistic Regression(逻辑回归)

ufldl出了新教程,感觉比之前的好,从基础讲起,系统清晰,又有编程实践. 在deep learning高质量群里面听一些前辈说,不必深究其他机器学习的算法,可以直接来学dl. 于是最近就开始搞这个了,教程加上matlab编程,就是完美啊. 新教程的地址是:http://ufldl.stanford.edu/tutorial/ 本节学习链接:http://ufldl.stanford.edu/tutorial/supervised/LogisticRegression/ 有了线性回归的基础再来学