Show
什么是随机森林?随机森林属于 集成学习 中的 Bagging(Bootstrap AGgregation 的简称) 方法。如果用图来表示他们之间的关系如下:
决策树 – Decision Tree
在解释随机森林前,需要先提一下决策树。决策树是一种很简单的算法,他的解释性强,也符合人类的直观思维。这是一种基于if-then-else规则的有监督学习算法,上面的图片可以直观的表达决策树的逻辑。 了解详情:《一文看懂决策树 – Decision tree(3个步骤+3种典型算法+10个优缺点)》 随机森林 – Random Forest | RF
随机森林是由很多决策树构成的,不同决策树之间没有关联。 当我们进行分类任务时,新的输入样本进入,就让森林中的每一棵决策树分别进行判断和分类,每个决策树会得到一个自己的分类结果,决策树的分类结果中哪一个分类最多,那么随机森林就会把这个结果当做最终的结果。 构造随机森林的 4 个步骤
随机森林的优缺点优点
缺点
随机森林 4 种实现方法对比测试随机森林是常用的机器学习算法,既可以用于分类问题,也可用于回归问题。本文对 scikit-learn、Spark MLlib、DolphinDB、XGBoost 四个平台的随机森林算法实现进行对比测试。评价指标包括内存占用、运行速度和分类准确性。 测试结果如下:
测试过程及说明忽略,感兴趣的可以查看原文《随机森林算法 4 种实现方法对比测试:DolphinDB 速度最快,XGBoost 表现最差》 随机森林的 4 个应用方向
随机森林可以在很多地方使用:
百度百科+维基百科百度百科版本 在机器学习中,随机森林是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定。 Leo Breiman和Adele Cutler发展出推论出随机森林的算法。 查看详情 维基百科版本 随机森林或随机决策森林是用于分类,回归和其他任务的集成学习方法,其通过在训练时构建多个决策树并输出作为类的模式(分类)或平均预测(回归)的类来操作。个别树木。随机决策森林纠正决策树过度拟合其训练集的习惯。 查看详情 扩展阅读文科生也能看懂的机器学习教程2:决策树和随机森林 1. 基本介绍随机森林(Random Forest,简称RF)是Bagging的一个扩展变体。RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。 2. 随机森林的分类随机森林用于分类时,采用n个决策树分类,将分类结果用简单投票得到最终分类,提高准确率。
随机森林需要调整的参数:
实现流程
3. 随机森林的优点
4. 随机森林的代码实现在scikit-learn中,RF的分类类是RandomForestClassifier,回归类是RandomForestRegressor。当然RF的变种Extra Trees也有, 分类类ExtraTreesClassifier,回归类ExtraTreesRegressor。由于RF和Extra Trees的区别较小,调参方法基本相同,本文只关注于RF的调参。 RF框架参数:
从上面可以看出, RF重要的框架参数比较少,主要需要关注的是 n_estimators,即RF最大的决策树个数。 RF决策树参数:
上面决策树参数中最重要的包括最大特征数max_features, 最大深度max_depth, 内部节点再划分所需最小样本数min_samples_split和叶子节点最少样本数min_samples_leaf。 上面决策树参数中最重要的包括最大特征数max_features, 最大深度max_depth, 内部节点再划分所需最小样本数min_samples_split和叶子节点最少样本数min_samples_leaf。 随机森林分类器代码
随机森林回归代码:
5. 参考
|