我在尝试弄清楚以下问题时遇到了困难:我正在运行随机森林进行栖息地使用分类,并拥有17只动物的GPS数据。我的数据框描绘了不同的栖息地变量,例如每个使用过的动物位置的方位和冠层覆盖以及每个未使用的随机位置。每个使用过的位置也由动物的ID号识别(该栏称为" lynx")。一个名为" usvsa"的列代码使用的位置为1,未使用的位置为0.这里是我的空间点数据框的顶部,称为sdata3:
lynx usvsa aspect canopy_cover clearcut_area cti deciduous dist_draw dist_ridge
311 1 252.3302 55.3704 0 7.311823 0 90.0000 484.66483
311 1 263.1394 55.1528 0 6.857203 0 324.4996 305.94116
311 1 249.6992 72.9272 0 6.612025 0 364.9658 212.13203
311 1 194.4459 50.4428 0 6.330615 0 108.1665 67.08204
确定。因此,我想使用Jackknifing运行随机森林17次(因为我有17个人),每次运行留下一只动物。我们的想法是比较每个随机森林运行的结果,以确保没有一只动物对模型结果产生不成比例的大影响。我一直在阅读有关包裹" bootstrap"和折刀功能:jackknife(x, theta, ...)
我知道我需要为theta编写一个函数,但我无法弄清楚如何将它们放在一起以便每次运行随机森林都会让一只动物离开。这是我的随机森林模型:randomForest(y ~ ., data=sdata3, ntree=b, importance=TRUE,norm.votes=TRUE, proximity=TRUE)
我想比较每次运行的重要性值和操作错误。
任何提示将不胜感激!!