随机森林的原理与实现

随机森林的基本描述:

由于单一的决策树一般都会有过拟合的问题,因此一些研究人员通过特定的方式构建多个决策树的方法来增加模型中的偏差(bias),从而解决模型过拟合的问题。由于在构建树的过程中使用了一些随机化的方法,而且又包括了很多的树,因此这个模型被称为了随机森林。

随机森林既可以用于分类,又可以用于回归。用于分类时,给定的输入样例必须作为每一棵树的输入,最后统计每一棵树所预测的类型中哪个类型是最多的(majority vote),样本就被预测为那种类型;用于回归时,输入样例也是要作为每一棵树的输入,然后对每一棵树的输出值求平均,得到输入样例的预测值。

事实上,随机森林还能用于非监督性学习,这是因为随机森林具有一个特性:能够测量每个实例之间的接近度(proximity),通过这样的特性我们可以对无标签的数据进行聚类,这是随机森林最重要的特性。两个实例接近度的计算是通过让两个实例遍历森林中的每一棵树,统计它们处于相同叶子节点的次数,将总次数除以树的总数就是两个实例的接近度。

通过实例的接近度测量,随机森林还能应用于寻找离群值。

另外,随机森林还能计算出输入数据集中各个特征的重要性,通过对特征重要性的测量我们就可以实现某种程度的维度下降。基本的测量步骤是对当前测量的特征的各个值进行重新排列,然后使用oob(out-of-bag)数据对每一棵树计算排列前后正确分类的实例的数目,使用排列前的正确分类实例数目减去排列后正确分类实例数目。统计所有树这个减法值的平均值就能得到特征重要性的原始值。

其次地,随机森林解决数据集中数据缺失,数据集类别数目不平衡等问题。


随机森林的基本实现方法:

①通过放回采样的方法在原数据集中进行采样,每构造一棵树就要采样一次。

②使用采样后的数据集,根据给定的树深和叶子数据量大小等参数要求来构造决策树。与一般的决策树构造不同,模型还有一个参数用于指定在进行节点分割的时候,只选取多少个特征进行最优分割的计算。因此在构造决策树每一次进行节点分割的时候,我们必须随机选取指定数量的特征用于计算最优分割特征以及特征值,以这个特征和特征值进行分割,从而构造出一个决策树。另外,是否分割的标准是根据基尼不纯度来判断的。这是向模型加入偏差(bias)的重要步骤。

③重复以上两步直到构造完了指定数量的决策树。


随机森林的性能测量方法:

①可以使用k-折交叉验证的方法。

②使用oob误差估计。由于在每棵树构造的过程中都会有没有被采样的数据,这些数据也被称为out-of-bag数据(oob数据),使用oob数据在对应的树上计算出预测值。对于每一个作为oob的实例,统计它在预测类型最多的作为该实例的类型。最后计算出误差率。


随机森林所涉及到的参数:

①最重要的就是在每一次分割需要用到的特征数目。

②对原数据集进行放回取样的样本数。

③所构造的每一个决策树的最大深度,以及叶子节点所包含的最大实例数。

④要构造的树的数目。


参考资料:

随机森林的详细描述  https://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm

随机森林的具体实现  https://machinelearningmastery.com/implement-random-forest-scratch-python/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【开发课程目的】随着人工智能时代到来,人们的工作、生活和学习方式将发生颠覆性的变化。巨变中,传统行业或将改变、或将消失,同时也会有大量人工智能相关岗位涌现出来。Python作为人工智能产品开发的首选语言,自然成为需求热点,掌握Python编程技能已成为大势所趋。因此,我们设计开发了人工智能编程系列课程:第一篇:Python编程基础第二篇:Python数据分析第三篇:Python机器学习第四篇:Python深度学习【零基础机器学习与深度学习课特色】1、基础篇课程设计考虑后续发展,为数据分析方向、机器学习方向打下坚实基础2、从设计到实现,讲解不放过每一行代码,帮助学员快速形成编程能力3、机器学习篇课程内容全面,包括13种监督学习模型、6种无监督学习模型、8种数据预处理与特征工程技术、10种模型调优技术与评估指标4、机器学习课程包括鸢尾花分类、手写数字识别、人脸特征提取与重建、泰坦尼克号生存预测等十几个应用案例5、深度学习篇课程包括神经网络基础、计算机视觉、序列、生成式深度学习4个单元,涉及密集网络、卷积网络、循环网络和对抗网络等6、深度学习课程包括手写数字识别、情感分析、猫狗分类、诗词创作、生成艺术风格照片等十几个应用案例【学习目标】 完成从小白到胜任Python机器学习或深度学习岗位这个从0到1的蜕变。购课的学员请发站内消息领取课程相关代码、课件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值