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-12 15:50:07

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' ,问

机器学习:保序回归(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),分类器可以理解为一个函数,

阿里巴巴 2015 实习笔试题 分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出

分布式系统中的RPC请求经常出现乱序的情况. 写一个算法来将一个乱序的序列保序输出.例如,假设起始序号是1,对于(1, 2, 5, 8, 10, 4, 3, 6, 9, 7)这个序列,输出是: 1 2 3, 4, 5 6 7, 8, 9, 10 上述例子中,3到来的时候会发现4,5已经在了.因此将已经满足顺序的整个序列(3, 4, 5)输出为一行. 要求: 1. 写一个高效的算法完成上述功能,实现要尽可能的健壮.易于维护 2. 为该算法设计并实现单元测试 貌似效率不是很高,有时间的时候改进下.

【转】Logistic regression (逻辑回归) 概述

Logistic regression (逻辑回归)是当前业界比较常用的机器学习方法,用于估计某种事物的可能性.比如某用户购买某商品的可能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等.(注意这里是:“可能性”,而非数学上的“概率”,logisitc回归的结果并非数学定义中的概率值,不可以直接当做概率值来用.该结果往往用于和其他特征值加权求和,而非直接相乘) 那么它究竟是什么样的一个东西,又有哪些适用情况和不适用情况呢?   一.官方定义: , Figure 1. The log

【转载】Logistic regression (逻辑回归) 概述

[原创]Logistic regression (逻辑回归) 概述 Logistic regression (逻辑回归)是当前业界比较常用的机器学习方法,用于估计某种事物的可能性.比如某用户购买某商品的可能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等.(注意这里是:“可能性”,而非数学上的“概率”,logisitc回归的结果并非数学定义中的概率值,不可以直接当做概率值来用.该结果往往用于和其他特征值加权求和,而非直接相乘) 那么它究竟是什么样的一个东西,又有哪些适用情况和不适用