随机森林
随机森林主要思想是先对原始样本随机选出(有放回抽样,和Bagging 一样,bootstrap不需要再进行交叉验证)N 个训练子集用于随机生成N颗决策树,针对每个样本集在构建决策树的选择最优属性进行划分时是随机选择m个属性,而不是像常用的决策树将所有的属性参与选择,再由这些决策树构成一个森林,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类,然后看看哪一类被选择最多,就预测这个样本为那一类。
随机森林由多颗随机决策树组成,是bagging系增强算法,并行互不干扰,基学习器是分类决策树,随机森林有两个随机采样1训练样本随机选择2构成每决策树的属性随机选择(1从原始训练集中随机产生N个训练子集用于随机生成N颗决策树,2在针对每个样本集构建决策树过程中随机地选择m个属性)。
随机森林的优点:
* 由于样本随机(模型的泛化能力较强,对缺失值、异常值不敏感)和属性随机选择(可以处理高维数据),避免出现过拟合;
* 各个树相互独立,可并行化训练,训练模型时速度快
* 模型可以处理不平衡数据,平衡误差
* 最终训练结果,可以对特征排序,选择比较重要的特征
* 随机森林算法中采样是按bootstrap进行采样,有OOB 集(有些数据可能没有被选择),不需要再进行交叉验证或者单独的测试集来获取测试集随机森林的缺点:
* 当数据噪声比较大时,会产生过拟合现象
* 由于2个随机,几乎无法控制模型内部的运行,类似于黑盒子,只能在不同的参数和随机种子之间进行尝试。