gpt4 book ai didi

r - 插入符号 :rfe get best performing variables for a certain size

转载 作者:行者123 更新时间:2023-12-04 15:31:00 24 4
gpt4 key购买 nike

我运行了一个包含大约 400 个变量的 rfe 模型,得到的结果是最佳模型使用了 40 个变量。然而,绘制基于交叉验证的误差标准差表明,40 个变量模型的性能仅略好于只有 10 个变量的模型。这就是为什么我想要使用 10 个变量的模型。我想使用对十变量模型表现最佳的 10 个变量并再次训练模型。

如何获得 rfe 对象中显示的导致模型性能的 10 个变量?

因为我使用了 rerank=TRUE,所以我不能只从 varImp(rfeModel$fit) 中选择排名最高的 10 个变量,对吗? (如果我不使用“重新排名”,这会起作用吗?)

我也在为 varImp(rfeModel$fit)varImp(rfeModel)pickVars(rfeModel$variables, 40)。在感兴趣的大小方面获得最佳性能变量的正确方法是什么?

可以使用下面的例子:

data(BloodBrain)

x <- scale(bbbDescr[,-nearZeroVar(bbbDescr)])
x <- x[, -findCorrelation(cor(x), .8)]
x <- as.data.frame(x)

set.seed(1)


rfProfile <- rfe(x, logBBB,
sizes = c(2, 5, 10, 20),
method="nnet",
maxit=10,
rfeControl(functions = caretFuncs,
returnResamp="all",
method="cv",
rerank=TRUE))

print(rfProfile), varImp(rfProfile$fit), varImp(rfProfile), pickVars(rfProfile$variables, rfProfile$optsize)

最佳答案

最简单的做法是使用 update 函数:

new_profile <- update(rfProfile, x = x, y = logBBB, size = 10) 

在内部,它使用以下代码:

selectedVars <- rfProfile$variables
bestVar <- rfProfile$control$functions$selectVar(selectedVars, 10)

最大

关于r - 插入符号 :rfe get best performing variables for a certain size,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29207675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com