R:tuneRF 函数的行为不明确(randomForest 包)

2024-04-20

我对这句话的含义感到不舒服stepFactor的参数tuneRF http://www.inside-r.org/packages/cran/randomForest/docs/tuneRF函数用于调整mtry进一步使用的参数randomForest http://www.inside-r.org/packages/cran/randomForest/docs/randomForest功能。

的文档tuneRFstepFactor是一个大小 被选中的mtry放气或充气。 显然,自从mtry是随机选择的多个变量,它必须是整数,但是我在网上看到了很多使用的例子stepFactor=1.5。 起初我以为R默认使用nextmtry等于floor(mtry_current-stepFactor),但事实证明我错了。 此外,我不明白 R 命令显示search left... search right... while tuneRF工作中。 我认为这是有关充气或放气的信息mtry参数,但我的假设结果并不正确。

总结一下我对我的疑问的冗长且不太优雅的描述,我的问题是: 为什么是stepFactor不是整数??

后续如何mtry选择的价值观? 向左/向右搜索实际上意味着什么?

任何帮助将非常感激! :)


下面是如何进行的总结tuneRF works:

  1. a. Set mtry默认值 sqrt(p) 进行分类,以及p/3 用于回归(其中p= 变量总数)

    b.计算随机森林的袋外 (OOB) 错误(例如 error_default)mtry设置为上面找到的默认值

  2. A。向左看:设置mtry= 默认值/步长因子。例如,如果 stepFactor=1.5 并且您的默认起始值​​为 8,mtry将设置为 8/1.5=5.33,向上舍入为整数,得到 6

    b.计算 OOB 错误,例如 error_left

  3. A。向右看:设置mtry= 默认值*步长因子。继续我的例子,mtry将设置为 8*1.5=12

    b.计算 OOB 错误,例如 error_right

  4. 我。如果 (error_default mtry是默认值

    二.如果不满足前面的条件,但errors_default和error_right/error_left之间的增量小于improve参数,最佳mtry是默认值

    三.不失一般性,如果不满足条件,且 if error_right improve, set mtry为 mtry_right (12)。从现在开始,永远走右边

  5. 如果 4.iii.已验证,迭代:设置mtry为 mtry_right*stepFactor (在我的示例中,12*1.5=18),计算 OOB 误差并将其与上一步获得的误差进行比较(在我的示例中,对于mtry=12)。如果误差新误差较小,并且误差减少的增益足够(即 >improve),选择新的mtry并继续重复这些步骤,否则停止并返回当前mtry作为最好的mtry

您设置的 stepFactor 越小(例如 1.1、1.2),则值越多mtry您尝试(精细搜索),您设置的stepFactor越大(例如2、2.5),您尝试的值越少(粗略搜索)。此外,具有较低的值improve,搜索将持续更长时间。

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

R:tuneRF 函数的行为不明确(randomForest 包) 的相关文章

  • 确定 R 中的组是否重复某个值

    我有一个包含许多列和行的数据 我想通过创建新的逻辑变量来确定某个组的值是否重复 相同 所以我的数据如下所示 v0 lt c 1 2 3 4 5 6 7 8 9 v1 lt c a b a c e c b b e v2 lt c R NA R
  • R 中的聚类分析:确定最佳聚类数

    如何选择最佳的聚类数量来进行 k 均值分析 绘制以下数据的子集后 多少个簇比较合适 如何进行聚类树突分析 n 1000 kk 10 x1 runif kk y1 runif kk z1 runif kk x4 sample x1 lengt
  • 使用 ape 包在 R 中进行标签和色叶树状图(系统发育)

    继上一篇文章之后 r 中的标签和彩色叶树状图 https stackoverflow com questions 18802519 label and color leaf dendrogram in r 我有一个后续问题 我的问题与提到的
  • 使用 ggplot 未完全填充等值线图

    我正在尝试使用以下方法绘制我的第一个填充等高线图ggplot 根据我的数据 我期待类似的结果 但我的结果是 a lt c 1 1 1 1 1 3 1 2 2 2 2 2 2 5 2 1 3 3 3 3 1 3 2 b lt c rep c
  • 如何使用 ggplot2 绘制 NA 间隙

    在 R 的基本绘图中 如果数据系列 ggplot2 中存在 NA 则会绘制间隙 举个例子看看 df data frame x c 1 10 y c 1 10 df 5 7 NA plot df type l 但是 ggplot2 删除了缺失
  • R 和 Python 中 LU 分解结果不一致

    我有以下矩阵A in R 1 2 3 4 1 1 1527778 0 4444444 0 375 0 3333333 2 0 5555556 1 4888889 0 600 0 3333333 3 0 6250000 0 4000000 1
  • 在 any() 语句中迭代一个小列表是否更快?

    在低长度迭代的限制下考虑以下操作 d 3 slice None None None slice None None None In 215 timeit any type i slice for i in d 1000000 loops b
  • 通过删除连续的重复项来减少字符串长度

    我有一个包含 2 个字段的 R 数据框 ID WORD 1 AAAAABBBBB 2 ABCAAABBBDDD 3 我想通过仅保留字母而不是重复中的重复项来简化具有重复字母的单词 e g AAAAABBBBB应该给我AB and ABCAA
  • R.scale() 和 sklearn.preprocessing.scale() 之间的区别

    我目前正在将数据分析从 R 转移到 Python 当在 R 中缩放数据集时 我将使用 R scale 根据我的理解 它将执行以下操作 x mean x sd x 为了替换该函数 我尝试使用 sklearn preprocessing sca
  • 为什么 data.table `:=` 的 knit 缓存失败?

    这在精神上与this https stackoverflow com q 15267018 1900520问题 但机制上一定不同 如果您尝试缓存knitr包含一个块data table 分配然后它的行为就好像该块尚未运行 并且后面的块看不到
  • ggplot2 中的小时刻度

    我正在处理就寝时间和醒来时间 因此我想创建一个具有 24 小时 x 轴的图表 从第一天中午 12 点开始 到第二天中午 12 点结束 这意味着晚上 11 59 之后 它应该再次从 0 开始 同样的问题 仅涉及数字 我想创建一个从 10 到
  • 带有 geom_errorbar 的position_dodge

    我有以下代码 require ggplot2 pd lt position dodge 0 3 ggplot dt aes x Time y OR colour Group geom errorbar aes ymin CI lower y
  • r caret 包中的 train 函数的模型输出尺寸巨大

    我正在使用 bagFDA 模型进行训练train r caret 包中的函数 并将模型输出保存为 Rdata 文件 输入文件大约有 300k 条记录 有 26 个变量 但输出 Rdata 大小为 3G 我只是运行以下命令 modelout
  • 返回值的复制省略和 noexcept

    我有一个这样的函数模板 template
  • 缩小 ASP.NET 生成的 Javascript 的最佳方法是什么?

    在 ASP NET 3 5 运行时缩小 ASP NET 生成的 Javascript 例如由 webresource axd 提供的 Javascript 的最佳方法是什么 我尝试使用Mb压缩 http mbcompression code
  • 选择 c 和 gamma 值

    您好 我正在使用 SMO 执行 SVM 分类 其中我的内核是 RBF 现在我想选择c and sigma值 使用网格搜索和交叉验证 我是内核函数的新手 请帮助 一步一步的过程 选择一些您认为有趣的 C 和 sigma 值 例如 C 1 10
  • 如何在R中使用OpenNLP获取POS标签?

    这是 R 代码 library NLP library openNLP tagPOS lt function x s lt as String x word token annotator lt Maxent Word Token Anno
  • R dplyr过滤多列上的字符串条件

    我有一个 df 例如 df lt read table text v1 v2 v3 v4 v5 1 A B X C 2 A B C X 3 A C C C 4 B D V A 5 B Z Z D header T 如果变量 v2 到 v5
  • 使用 purrr::map() 更改和分配新变量名称

    我刚刚开始掌握编写函数并使用 lapply purrr map 使我的代码更加简洁 但显然还没有完全理解它 在我当前的示例中 我想重命名 lm robust 对象的系数名称 然后更改 lm robust 对象以合并新名称 我目前这样做 li
  • 如何融合颜色和形状?

    当我有一个超过 6 个值的变量时 我的麻烦就开始了 因为这是 ggplot2 中 scale shape 函数的当前最大值 由于这个问题 我尝试使用另一个变量来解决这个问题 我只是将原始变量的长度包裹起来 这是我的示例代码 dataf lt

随机推荐