r - 如何使用插入符号在递归特征消除中进行下采样?
问题描述
考虑这里创建的数据框data
:
set.seed(123)
num = sample(5:20, replace = T, 20)
id = letters[1:20]
loc <- rep(id, num)
data <- data.frame(Location = loc)
data[paste0('var', seq_along(1:10))] <- rnorm(length(id) * sum(num))
假设data
是我的训练数据;每行代表对分组变量标识的人群中随机抽样的个体进行的测量Location
。我想使用递归特征消除来确定预测的最佳预测子集Location
。类似地,我想了解每个预测变量解释了多少变化Location
(即,哪些是最重要的,以及它们有多重要)。我已经阅读了如何使用 caret 包使用以下内容来完成此操作:
library(caret)
subsets <- 1:9
ctrl <- rfeControl(functions = lmFuncs, method = "repeatedcv", repeats = 10, verbose = F)
lmProfile <- rfe(data[,2:10], data[,1], sizes = subsets, rfeControl = ctrl)
在我的data
示例中,考虑到每个 中的样本数量不平衡Location
,我想使用下采样来确保Location
在每次迭代时跨级别考虑相同数量的样本。有人可以演示我如何做到这一点吗?
解决方案
推荐阅读
- powershell - 使用 Powershell Az 模块将修订版发布到 Developer Portal
- pyspark - 如何使用 pyspark 在 Amazon EMR 中跟踪长期作业的进度?
- migration - 我将数据导出到通用消息传递的尝试创建了太多打开的连接并且服务器因 OutOfMemoryError 异常而关闭
- c# - 使用 Json.NET,如何在序列化对象时加密任何类型的选定属性?
- c++ - SFML 和 Box2D 坐标同步
- google-chrome - 为什么 XHR 在 Google Chrome DevTools 中显示 js 加载请求
- javascript - 在 redux reducer 中破坏默认状态
- java - 为什么 Java 正在寻找 java.lang.NoClassDefFoundError: com/mongodb/client/MongoClients?
- unix - 在文件 foo 中,如何使用 grep 定位并打印包含 printf 的所有行,但不包括 sprintf 和 fprintf,但在行尾的任何位置?
- c# - Oracle View 上的 EF Core 查询非常慢