随机森林中什么是袋外错误? [关闭]

2024-02-08

随机森林中什么是袋外错误? 它是在随机森林中找到正确数量的树的最佳参数吗?


我将尝试解释一下:

假设我们的训练数据集由 T 表示,并且假设数据集有 M 个特征(或属性或变量)。

T = {(X1,y1), (X2,y2), ... (Xn, yn)}

and

Xi is input vector {xi1, xi2, ... xiM}

yi is the label (or output or class). 

射频总结:

随机森林算法是主要基于两种方法的分类器 -

  • Bagging
  • 随机子空间方法。

假设我们决定有S我们森林中的树木数量,然后我们首先创建S的数据集"same size as original"通过对 T 中的数据进行随机重采样并进行替换而创建(每个数据集 n 次)。这将导致{T1, T2, ... TS}数据集。其中每一个都称为引导数据集。由于每个数据集都有“替换”TiTi 可能有重复的数据记录,并且 Ti 可能会丢失原始数据集中的多个数据记录。这就是所谓的Bootstrapping。 (en.wikipedia.org/wiki/Bootstrapping_(统计))

Bagging 是采用引导程序然后聚合在每个引导程序上学习到的模型的过程。

现在,RF创造了S树木和用途m (=sqrt(M) or =floor(lnM+1))随机子特征M创建任何树的可能功能。这称为随机子空间方法。

所以对于每个Ti引导数据集创建一棵树Ki。如果你想对一些输入数据进行分类D = {x1, x2, ..., xM}你让它穿过每棵树并产生S输出(每棵树一个)可以表示为Y = {y1, y2, ..., ys}。最终预测是对该组的多数投票。

袋外错误:

创建分类器后(S树),对于每个(Xi,yi)在原始训练集中,即T, 全选Tk其中不包括(Xi,yi)。请注意,该子集是一组引导数据集,其中不包含原始数据集中的特定记录。该集合称为袋外示例。有n这样的子集(原始数据集 T 中的每个数据记录一个)。 OOB 分类器仅是投票的聚合Tk使得它不包含(xi,yi).

泛化误差的袋外估计是袋外分类器在训练集上的错误率(与已知的比较)yi's).

它为什么如此重要?

The study of error estimates for bagged classifiers in Breiman [1996b] https://www.stat.berkeley.edu/~breiman/OOBestimation.pdf, gives empirical evidence to show that the out-of-bag estimate is as accurate as using a test set of the same size as the training set. Therefore, using the out-of-bag error estimate removes the need for a set aside test set.1 https://doi.org/10.1023/A:1010933404324.

(感谢@Rudolf 的更正。他的评论如下。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

随机森林中什么是袋外错误? [关闭] 的相关文章

  • 如何使用 lstm 执行多类多输出分类

    I have multiclass multioutput classification see https scikit learn org stable modules multiclass html https scikit lear
  • 使用 CNN 和 pytorch 计算每个类别的准确度

    我可以使用此代码计算每个时期后的准确性 但是 我想最后计算每个班级的准确性 我怎样才能做到这一点 我有两个文件夹 train 和 val 每个文件夹有 7 个不同类别的 7 个文件夹 train 文件夹用于训练 否则 val 文件夹用于测试
  • 如果数据库可访问,加盐和散列有什么意义?

    我刚刚学习了散列的概念 嘿 不要忘记盐 并使用盐来确保密码安全 散列它是一种单向加密 实际上不是加密而是散列 因此无法对其进行逆向工程 加盐是在散列之前在密码上添加随机创建的值的前缀或附加值 因为散列 只是散列 的问题是 一些天才提供了字典
  • 神经网络的激活函数选择[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我们可以对神经网络的隐藏层和输出层使用不同的激活函数吗 使用这种方案有什么明显的优势吗 对于网络的最后一层 激活单元也取决于任务 分类
  • 更改随机森林分类器的阈值

    我需要开发一个没有 或接近没有 假阴性值的模型 为此 我绘制了召回率 精度曲线 并确定阈值应设置为 0 11 我的问题是 如何定义模型训练时的阈值 稍后在评估时定义它是没有意义的 因为它不会反映新数据 X train X test y tr
  • 如何检查 AJAX 请求的真实性

    我正在设计一个网站 让用户尽快解决谜题 JavaScript 用于为每个谜题计时 当谜题完成时 毫秒数通过 AJAX 发送到服务器 如何保证服务器收到的时间不是用户伪造的 我不认为基于会话的真实性令牌 Rails 中用于表单的那种 就足够了
  • 使用 scikit-learn 在朴素贝叶斯分类器中混合类别数据和连续数据

    我正在使用 Python 中的 scikit learn 开发分类算法来预测某些客户的性别 除此之外 我想使用朴素贝叶斯分类器 但我的问题是我混合了分类数据 例如 在线注册 接受电子邮件通知 等 和连续数据 例如 年龄 长度 会员资格 等
  • 如何使用WordNet或与wordnet相关的类别来实现基于类别的文本标记?

    如何使用wordnet按单词类别标记文本 java作为接口 Example 考虑以下句子 1 计算机需要键盘 显示器 CPU才能工作 2 汽车使用齿轮和离合器 现在我的目标是 例句必须标记为 第 1 句话 电脑 电子键盘 电子中央处理器 电
  • 使用 NLTK 生成字典以将推文分类为预定义类别

    我有一个 Twitter 用户 screen names 列表 我需要根据他们的兴趣领域将他们分为 7 个预定义类别 教育 艺术 体育 商业 政治 汽车 技术 我用 Python 提取了用户的最后 100 条推文 并在清理推文后为每个用户创
  • 如何将惰性变量传递给函数参数而不对其求值,除非返回

    这个问题是针对python的 尽管我不介意用户分享其他语言的经验 基本上我的问题是尝试将惰性变量传递给函数 就我而言 我可能无法控制该函数 因此无法更改它以将生成器作为输入 示例 请注意 dict get 是函数的示例 但它很可能是 foo
  • 地图应用的聚类算法

    我正在研究地图上的聚类点 纬度 经度 对于快速且可扩展的合适算法有什么建议吗 更具体地说 我有一系列纬度 经度坐标和一个地图视口 我正在尝试将靠近的点聚集在一起以消除混乱 我已经有了解决问题的方法 see here http bouldr
  • 为什么连接终止

    我正在尝试使用随机森林分类模型H2OR 内部的库 训练集有 7000 万行和 25 个数字特征 总文件大小为 5 6 GB 验证文件的大小为 1 GB 我的系统有 16 GB RAM 和 8 核 CPU 系统成功读取 H2O 对象中的两个文
  • 音乐分析软件[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 问候 我可能已经想到了这一点 但有人知道 Last fm 之前是否使用某种形式的开源项目对音乐进行分析
  • 为什么这个函数不是纯粹的?

    在维基百科文章中https en wikipedia org wiki Pure function Impure functions https en wikipedia org wiki Pure function Impure func
  • 如何知道您的单元测试装置是否“尺寸合适”?

    您如何知道 测试夹具 的尺寸是否合适 我所说的 测试夹具 是指一个包含大量测试的类 我在测试装置中一直注意到的一件事是它们变得有点冗长 鉴于它们也可能不够详细 您如何了解单元测试的大小是否合适 我的假设是 至少在 Web 开发的背景下 您应
  • 从原点开始在离散 2D 网格上迭代向外螺旋的算法

    例如 这是预期螺旋的形状 以及迭代的每个步骤 y 16 15 14 13 12 17 4 3 2 11 18 5 0 1 10 x 19 6 7 8 9 20 21 22 23 24 其中线条是 x 轴和 y 轴 以下是算法每次迭代 返回
  • 使用 to_categorical 转换 np.array 时出现内存问题

    我有一个像这样的 numpy 数组 0 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 我这样改造它以减少内存需求 x val x val asty
  • 是否有加权水库采样的算法? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 当数据流中的点具有相关权重时 是否有一种算法可以执行水库采样 Pavlos Efraimidis 和 Paul Spirakis 的算
  • shap.TreeExplainer 和 shap.Explainer 条形图之间的区别

    对于下面给出的代码 我得到了不同的条形图shap values 在此示例中 我的数据集为 1000train样本有 9 个类别和 500 个test样品 然后 我使用随机森林作为分类器并生成模型 当我开始生成shap条形图在这两种情况下得到
  • 使用 Tkinter 显示 numpy 数组中的图像

    我对 Python 缺乏经验 第一次使用 Tkinter 制作一个 UI 显示我的数字分类程序与 mnist 数据集的结果 当图像来自 numpy 数组而不是我的 PC 上的文件路径时 我有一个关于在 Tkinter 中显示图像的问题 我为

随机推荐