随机森林 OOB理解

一个大小为N的数据集D.

1.有一个问题是, 对于随机森林的每一棵CART树是怎么训练的, 如何划分训练集测试集?

Bootstrap, 对数据集随机有放回抽样N次作为一棵CART树的训练集.

根据概率论,可知数据集中有大约1/3的数据是没有被选取的(称为Out of bag),所以就是这没被选取的部分作为小树的测试集.

2. 接下来的问题是, 怎么测试随机森林的性能, 测试集是什么?

这里其实理解的有偏差: 随机森林有一个重要的优点就是,没有必要对它进行交叉验证或者用一个独立的测试集来获得误差的一个无偏估计。它可以在内部进行评估,也就是说在生成的过程中就可以对误差建立一个无偏估计。

实际上, 数据集D中的每一个样本都可以拿来做测试数据, 对于一个样本d, 森林中大约有1/e树是OOB的, 那么这1/e的树就构成了预测样本d的森林,用简单投票法计算分类结果. 从而得到总的error.

(Put each case left out in the construction of the kth tree down the kth tree to get a classification. In this way, a test set classification is obtained for each case in about one-third of the trees. At the end of the run, take j to be the class that got most of the votes every time case n was oob. The proportion of times that j is not equal to the true class of n averaged over all cases is the oob error estimate. This has proven to be unbiased in many tests.)原文
————————————————
版权声明:本文为CSDN博主「nemoyy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/nemoyy/article/details/80317936

在 MATLAB 中,你可以使用 `TreeBagger` 函数中的 `'OOBPrediction'` 和 `'OOBVarImp'` 参数来进行随机森林模型的 OOB(Out-of-Bag)误差估计。 OOB 误差是用于评估随机森林模型在未见样本上的预测准确性的一种方法。它利用在构建每个决策树时未使用的样本来评估模型的性能。下面是一个使用随机森林进行分类并计算 OOB 误差的示例: ```matlab % 加载示例数据集 load fisheriris X = meas; % 特征矩阵 Y = species; % 目标变量 % 构建随机森林模型 numTrees = 100; % 决策树的数量 model = TreeBagger(numTrees, X, Y, 'Method', 'classification', 'OOBPrediction', 'On'); % 获取模型的 OOB 误差 oobError = oobError(model); ``` 在上述示例中,我们加载了一个示例数据集(鸢尾花数据集)。然后,我们将特征矩阵 `meas` 赋值给变量 `X`,将目标变量 `species` 赋值给变量 `Y`。接下来,我们使用 `TreeBagger` 函数构建了一个包含 100 个决策树的随机森林分类器,并通过 `'OOBPrediction'` 参数启用了 OOB 预测。最后,我们使用 `oobError` 函数计算模型的 OOB 误差。 另外,你还可以使用 `'OOBVarImp'` 参数来评估随机森林中特征的重要性。这个参数可以用来计算每个特征的 OOB 方差重要性,表示特征对模型预测的贡献程度。示例如下: ```matlab % 获取特征的 OOB 方差重要性 varImportance = oobPermutedVarImp(model); ``` 在上述示例中,我们使用 `oobPermutedVarImp` 函数计算模型中每个特征的 OOB 方差重要性。 通过使用 OOB 误差估计和特征重要性,你可以更好地理解随机森林模型的性能和特征的贡献。希望对你有所帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值