RandomForest的优点

1. 引入

最近需要做表格数据(特征可读,特征多300+个,每个特征只有0/1两种值)分类,就尝试了比较适合表格数据的模型,比如RandomForest(后面缩写为RF), XGBoost(后面缩写为XGB), LightGBM, CatBoost。

按理来说,1995年贝尔实验室提出的RandomForest是最老的模型;XGBoost是后来2014年出现的;2017年微软提出的LightGBM进一步提升了XGB的训练效率降低了内存消耗;2017年,俄罗斯最大的搜索引擎 Yandex也开发了CatBoost,在参考1中也给出了CatBoost与其他模型的对比,结果也是CatBoost最好。

但在笔者的数据上,最后确意外的发现,RandomForest的准确率最高(当然其他模型也都是97%的准确率,大家相差不到1%)。但是RandomForest的训练时间比XGB快4倍,比LightGBM快2倍,比CatBoost快30倍。

这当然跟参数设置也有关系,但综合准确率、训练性能、调优所好精力来看,根据笔者多年的炼丹经验,对于表格数据,RF现在还是很有效的模型。

对RF进一步研究,笔者找到了RF鼻祖之一Breiman写的一些关于RF的comments(见参考2),本文就对comments中提到的RF的特点、优点,做一个总结。

2. RandomForest的特点

关于RF基分类器决策树模型的原理,可以看笔者写过的参考4。

参考2中总结了Breiman对RandomForest的很多看法,笔者理解RandomForest最大的优点是:可以用最脏的数据,来训练最好的模型。具体来说:

  1. 他可以对大规模数据进行高效率的模型训练,数据量大时训练时间也很快
  2. 他可以直接应对几千个输入特征值,不需要降低特征数量,特征很多时模型准确率也很不错
  3. 他能告诉我们在分类过程中,哪些变量的重要性更高(即feature importance)
  4. 他能很好的应对缺失值的情况(比如C4.5就根据缺失值定义了样本权重来计算有缺失值的信息增益)
  5. 他能应对不平衡数据集,哪怕是不平衡数据他也能处理好
  6. 他还能用在无监督学习中,比如聚类(参考3)、异常检测

3. 总结

本文总结了RF的优点,在这些现实数据建模中的难点上,它都能自动的处理好:大规模数据,高效率,多特征值,缺失值,不平衡数据。

参考

  1. https://cloud.tencent.com/developer/article/1049817
  2. https://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm
  3. https://zhuanlan.zhihu.com/p/179286622
  4. https://blog.csdn.net/ybdesire/article/details/52234758
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值