【机器学习算法-python实现】Adaboost的实现(1)-单层决策树(decision stump)
来源:互联网 发布:坑爹淘宝买家秀 编辑:程序博客网 时间:2024/05/21 17:45
转载地址:http://blog.csdn.net/buptgshengod/article/details/25049305
1.背景
上一节学习支持向量机,感觉公式都太难理解了,弄得我有点头大。不过这一章的Adaboost线比较起来就容易得多。Adaboost是用元算法的思想进行分类的。什么事元算法的思想呢?就是根据数据集的不同的特征在决定结果时所占的比重来划分数据集。一句话来说,就是根据特征的重要性比重来划分数据集。(不同的权值)就是要对每个特征值都构建决策树,并且赋予他们不同的权值,最后集合起来比较。
比如说我们可以通过是否有胡子和身高的高度这两个特征来来决定一个人的性别,很明显是否有胡子可能在判定性别方面比身高更准确,所以在判定的时候我们就赋予这个特征更大的权重,比如说我们把权重设成0.8:0.2。这样就比0.5:0.5的权重来的更准确些。
2.构建决策树
接着我们来构建决策树。我们的决策树要实现主要两个功能,一个是找出对结果影响最大的特征值。另外一个功能是找到这个特征值得阈值。阈值就是,比方说阈值是d,当特征值大于d结果为1,当特征值小于d结果为0。
首先看下数据集,是一个两个特征值的矩阵。
接着是树的分类函数。这个函数在下面的循环里要用到,作用很简单,就是比对每一列的特征值和目标函数,返回比对的结果。四个参数分别是(输入矩阵,第几列,阈值,lt或gt)
3.结果
当我们假设初始权重相同(5行数据也就是都是0.2),得到结果
{'dim': 0, 'ineq': 'lt', 'thresh': 1.3}——第一个特征值权重最大,阈值是1.3
[[ 0.2]]——错误率0.2,也就是五个错一个
[[-1.]————判断结果,第一个数据错误
[ 1.]
[-1.]
[-1.]
[ 1.]]
0 0
- 【机器学习算法-python实现】Adaboost的实现(1)-单层决策树(decision stump)
- 【机器学习算法-python实现】Adaboost的实现(1)-单层决策树(decision stump)
- 机器学习技法实现(一):AdaBoost- Decision Stump (AdaBoost - 决策树的基于Matlab的实现)
- 【机器学习算法-python实现】决策树-Decision tree(2) 决策树的实现
- 【机器学习算法-python实现】决策树-Decision tree(2) 决策树的实现
- 【机器学习算法-python实现】决策树-Decision tree(1) 信息熵划分数据集
- 【机器学习算法-python实现】决策树-Decision tree(1) 信息熵划分数据集
- 【机器学习算法-python实现】决策树-Decision tree(1) 信息熵划分数据集
- 【机器学习算法-python实现】决策树-Decision tree(1) 信息熵划分数据集
- 机器学习基石 作业2 实现1维和多维Decision Stump
- 机器学习实战(五)——基于单层决策树(dicision-stump)的adaBoosting
- 机器学习之决策树 Decision Tree(二)Python实现
- 机器学习经典算法详解及Python实现--决策树(Decision Tree)
- 机器学习经典算法详解及Python实现–决策树(Decision Tree)
- 机器学习经典算法详解及Python实现--决策树(Decision Tree)
- 机器学习经典算法详解及Python实现--决策树(Decision Tree)
- 机器学习:AdaBoost 算法及Python实现
- AdaBoost算法1(基于单层决策树)
- js实现tab页切换选项卡代码特效
- struts处理上传下载2
- XCode快捷键
- Android中三种主要的XML解析方法
- 小工具
- 【机器学习算法-python实现】Adaboost的实现(1)-单层决策树(decision stump)
- 查看android进程信息和依赖的库信息
- JavaScript的事件代理
- 《原创》U3D + KBE Demo环境搭建过程
- IOS中的block和retain cycle (经典)
- soap简介
- 第14周项目2-带姓名的成绩单
- 简化表格单元格的生成++++++
- 《构建高性能web站点》整理