随机森林算法通俗易懂改进的随机森林算法腾讯云开发者社区

大家好,又见面了,我是你们的朋友全栈君。

决策树最大的特点就是直观,易解释。大家生活中在某一个时刻也在无意或有意的使用它,比如我们之前举的借钱的栗子。决策树算法根据特征选择的方式不同,可以分为ID3算法,C4.5算法,CART算法。在CART算法中,使用Gini指数做特征选择,选择Gini指数最小的特征以及其对应的切分点作为最优特征与最优的切分点,循环反复直到满足停止条件。由于决策树几乎不对训练数据做任何的假设,在不添加任务约束,树结构将会根据训练数据的特性自由生长,达到百分百的正确率。为了提高决策树的泛化能力,决策树使用了剪枝的方法。但是剪枝在减少模型方差的同时,也减小了模型的偏差(准确度)。那么有没有其他方法,在降低模型方差的同时,又不降低显著降低模型偏差?非常巧,上一篇我们提到的bagging集成方法正好有这个特性。使用bagging集成多颗决策树(CART树)就叫做随机森林。

我们在上篇在探讨bagging集成学习方法时,提到bagging集成方法有效的前提条件是,基模型之间必须保持低相关性,低相关性才能保证基模型之间的差异性,有差异性的基模型组合在一起才能成为一个更强大模型。为了让CART树有更大差异性,随机森林除了对样本进行随机过采样,增加训练集的随机性之外,还在树的生成时引入了额外的随机,即特征随机。在树的生成时,选择随机采样的特征中的最好的特征作为分裂节点,这样使得每棵树有更大的差异性。

下面我们总结下随机森林的算法过程:输入:数据量为 m m m的训练集 D D D, T T T颗CART树输出:最终的随机森林 f ( x ) f(x) f(x)1)对训练集 D D D进行 m m m次随机过采样,得到样本量为 m m m的采样集 D s a m p l e D_{sample} Dsample​;2)在所有属性特征中随机选择 k k k个属性特征,选择最佳分割属性特征作为节点构建CART树 T ( x ) T(x) T(x);3)重复以上两步 T T T次,即建立了 T T T颗决策树;4)这 T T T颗决策树组成随机森林。如果是分类算法预测,则通过投票表决数据最终属于哪一个类别;如果是回归预测,则 通过平均作为最终模型的输出。

对于Bagging,采用有放回的采样,那么一些样本可能被多次重复采样,有一些可能不会被采样。对于一个大小为 m m m的训练集进行随机采样,样本每一次被采样的概率为 1 m \frac{1}{m} m1​,没有被采样到的概率为 1 − 1 m 1-\frac{1}{m} 1−m1​, m m m次都没有被采样到的样本的概率为 ( 1 − 1 m ) m {(1-\frac{1}{m})}^m (1−m1​)m,当 m → ∞ m\rightarrow \infty m→∞时,lim ⁡ m → + ∞ = 1 e ≈ 0.368 {\lim_{m \to +\infty}}=\frac{1}{e}\approx0.368 limm→+∞​=e1​≈0.368也就是说,对于大小为 m m m的训练集,平均只有63.2%的样本被每个分类器采样,剩余的36.8%没有被采样到,没有被采样的样本被称为Out of Bag。注意,每个分类器的36.8%的样本是不一样的。由于分类器在训练的时候没有使用到Out of Bag的样本数据,因此这部分可以用来评估分类器,进而不需要另外划分验证集或者做交叉验证了。在sklearn随机森林库类中,你可以通过oob_score=True来自动评估,评估结果通过oob_score_查看,具体我们下篇再探讨。

THE END
0.机器学习集成学习之随机森林随机森林算法的特点什么是随机森林 随机森林(RandomForest)是一种基于决策树的集成学习算法,它在机器学习领域中应用广泛,其核心思想是通过构建多个基学习器(这里是决策树),然后将这些基学习器的预测结果进行综合,以获得更准确和稳定的预测结果。 随机森林的特点 1、数据采样随机:从原始训练数据集D中,采用有放回的抽样方式,抽取n个样本jvzquC41dnuh0lxfp0tfv87423e87=>3:670c{ykenk0fnyckny03=;3;:<:3
1.机器学习——随机森林随机森林算法的特点随机森林(Random Forest)是一种强大的集成学习算法,由Leo Breiman和Adele Cutler于2001年在论文"Random Forests"中首次提出。该算法通过构建多个决策树进行预测,并采用投票或平均的方式来综合各个决策树的结果,从而提高模型的准确性和泛化能力。 作为机器学习领域最常用的算法之一,随机森林具有以下显著特点: jvzquC41dnuh0lxfp0tfv8vs3:;26:<5545bt}neng5eg}fknu5279534377
2.机器学习中常用的几种分类算法,如何选择合适的算法?随机森林算法特点: 优点: 对于很多种资料,可以产生高准确度的分类器 可以处理大量的输入变量 可以在决定类别时,评估变量的重要性 在建造森林时,可以在内部对于一般化后的误差产生不偏差的估计 包含一个好方法可以估计丢失的资料,并且如果有很大一部分的资料丢失,仍可以维持准确度 jvzquC41yy}/7:hvq0ipo8ftvkimg8<96:950qyon
3.可解释性机器学习:基于随机森林和Ceteris随机森林的预测:当新的数据点到达时,让随机森林中的每个决策树对其进行分类,并采取多数票制来决定其分类结果。 随机森林算法的特点包括: 可处理高维数据:随机森林可以处理高维、大规模的数据,适用于各种类型的特征。 泛化能力强:随机森林具有较强的泛化能力和稳定性,不容易出现过拟合问题。 jvzquC41fg|fnxugt0gmk‚zp0eun1jwvkerf1:97;5?8
4.随机森林算法是什么:从工作原理到应用示例全解析|BetterYeahAI什么是随机森林 随机森林,顾名思义,是由大量的决策树组成的森林,通过集成学习的方式,将多个决策树的预测结果进行综合,从而提高整体模型的预测准确性和泛化能力。 随机森林算法属于Bagging类型集成学习算法,通过自举汇聚法(bootstrap aggregating)从原始数据集中有放回地抽样,生成多个新的数据集,训练出多个弱分类器。这些jvzquC41yy}/dnyvgtfcq3eqo5cnxl1yjgu/rx/tcteqv2hqtktv6fniqxjvqr
5.以下属于随机森林算法特点的是()以下属于随机森林算法特点的是()A.具有很好的抗噪声能力 B.不用做特征选择,对数据集的适应能力强 C.训练速度快,可得到变量重要性排序 D.易并行化处理点击查看答案&解析 在线练习 手机看题 你可能感兴趣的试题 多项选择题 以下属于机器学习评价指标的是() A.F1-score B.AUC(Area Under Curve) C.ROC(ReceijvzquC41yy}/rypcq0ipo8ykmw5tjryk17i83@kg:h;2f=h9h:k9cn7999ib:jhh40nuou
6.机器学习——随机森林(RandomForest)6.绘制特征排名 四、总结 前面一节我们学习了一种简单高效的算法——决策树学习算法(Decision Tree ),下面来介绍一种基于决策树的集成学习算法——随机森林算法(Random Forest )。 一、随机森林的介绍 随机森林是一种基于集成学习(Ensemble Learning)的机器学习算法,属于 Bagging 类型的集成方法。它通过jvzquC41dnuh0lxfp0tfv8fz4;97>55;660c{ykenk0fnyckny03=;463>34
7.随机森林(RandomForest):机器学习中的经典算法随机森林算法随机性:在构建每棵决策树时,随机森林引入了两种随机性:一是从训练数据中随机抽取样本(Bootstrap采样),二是从特征集中随机选择部分特征进行节点分裂。 森林:随机森林由多棵决策树组成,这些树共同构成一个“森林”。 随机森林算法有三个主要超参数,需要在训练前设置。这些参数包括节点大小、树的数量和特征采样的数量。jvzquC41dnuh0lxfp0tfv8r2a8752=6851gsvrhng1jfvjnnu1757@>;;3:
8.数据挖掘随机森林这个代码是随机森林算法的一个非常简化的实现,它展示了如何递归地构建一棵决策树。在实际应用中,决策树的构建过程会更加复杂,包括特征选择、阈值选择、剪枝等步骤。随机森林算法通常还涉及到随机抽样、特征列的随机选择等步骤,以保证森林中的每棵树都是不相同的。在上述代码中,我们只是简单地随机选择了一个特征,并以jvzquC41dnuh0lxfp0tfv8}kcqjpp}kzk7::B4ctvodnn4fgvgjn|4364878@=7
9.机器学习5—分类算法之随机森林(RandomForest)随机森林分类1.什么是随机森林 2.随机森林的特点 3.随机森林的生成 二、随机森林的函数模型 三、随机森林算法实现 1.数据的读取 2.数据的清洗和填充 3.数据的划分 4.代码的实现 总结 前言 随机森林(Random Forest)是Bagging(一种并行式的集成学习方法)的一个拓展体,它的基学习器固定为决策树,多棵树也就组成了森林,而“jvzquC41dnuh0lxfp0tfv8jza8:628ftvkimg8igvcomu86483;14:>
10.随机森林算法详解随机森林是一种高效、强大的集成学习算法,适用于多种实际任务。其通过“数据采样+特征随机性+集成投票/平均”三大机制,有效提升了模型的泛化能力和鲁棒性。 九、原理细节 1. Bagging机制 有放回采样(Bootstrap):对原始数据集进行有放回抽样,每次抽取的样本数等于原始数据集大小。这样,每个子集和原始数据集分布类似,jvzquC41dnuh0lxfp0tfv8tpn{stew4ctvodnn4fgvgjn|4374?46982