【机器学习之随机森林】


前言

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习随机森林的基础内容。


一、随机森林是什么?

1.随机森林原理

随机森林其实就是由多个决策树组成的,它输出的类别是由个别树输出的类别的众数而定。它既可以做分类又可以做回归。它在构建的时候,会进行两个选择,一个是对样本的选择,另一个是对特征的选择。它有个投票的机制,例如有一票否决制、少数服从多数、加权多数等等。可以把每棵决策树都当作是一个分类器,有个输入样本的话,有N个数,就有N个分类的结果,随机森林就将投票最多的指定为最终输出,这也就是一种简单的Bagging思想。其实对随机森林来说,模型分类的效果受这么两个因素影响,一个是任意两棵树的相关性,相关性越大,错误率越大;另一个就是每棵树的分类能力,每棵树的分类能力越强,整个森林的错误率越低。
在这里插入图片描述

2.随机森林优缺点

2-1.优点

优点:
①能够处理很高维度(feature特征很多)的数据,而且不用做特征选择,因为特征子集是随机选择的;
②训练完后,它能够给出哪些feature比较重要,训练的时侯树与树之间是相互独立的;
③训练速度快,容易做成并行化方法;
④在训练过程当中,能够检测到feature它们之间的互相影响
⑤对于那种不平衡的数据集来说,它可以平衡误差
⑥如果有很大一部分的特征遗失,仍可以维持准确度。

总结下来一句话就是:准确率高、速度快、随机抽取特征和样本、在大量的数据上、在高维的数据有更好的效果。

2-2.缺点

①在某些噪音较大的分类或回归问题上会过拟合
②有不同取值的属性的数据取值划分较多的属性会对随机森林产生更大的影响

二、问题总结

1.随机森林的过拟合问题(案例)

比如说,你已经建了一个有10000棵树的随机森林模型。在得到0.00的训练误差后,你非常高兴。但是,验证错误是34.23。到底是怎么回事?你还没有训练好你的模型吗?
答:该模型过拟合了,因此为了避免这些情况,我们要用交叉验证来调整树的一个数量
在这里插入图片描述

2.如何处理缺失值?

①我们可以给缺失值预设一些估计值(比如数值型特征,选择其余数据的中位数或众数作为当前的估计值);
②根据估计的数值,建立随机森林(把所有的数据放进随机森林里面跑一遍,记录每一组数据在决策树中一步一步分类的路径);
③判断哪组的数据和缺失数据路径最相似(引入一个相似度矩阵,来记录数据之间的相似度比如有N组数据,相似度矩阵大小就是N x N);
④判断缺失值类型。一种是类别变量,通过权重投票得到新估计值;另一种是数值型变量,然后如此一直迭代,直到得到稳定的估计值。

3.什么是袋外错误率oob,有什么作用?

构建随机森林的关键问题就是如何选择最优的m,要解决这个问题主要依据计算袋外错误率oob error。Bagging方法中Bootstrap就是每次约有1/3的样本(袋外数据oob)不会出现在所采集的样本集合中,也就没有参加决策树的建立,可以用于取代测试集误差估计方法。
对已经生成的随机森林测试性能,假设袋外数据总数为O ,用这O个袋外数据作为输入,带进之前已经生成的随机森林分类器,分类器会给出O个数据相应的分类。公式就是: x(预测错误的个数)/O =袋外错误率。作用就是不需要再进行交叉验证或者单独的测试集来获取测试集误差的无偏估计。


总结

以上就是今天要讲的内容,本文仅仅简单介绍了随机森林的使用

猜你喜欢

转载自blog.csdn.net/m0_62571112/article/details/124546953