r - R中ROSE的过采样和欠采样问题
问题描述
我有一个数据集可以在胜诉案件 (14399) 和败诉案件 (8677) 之间进行分类。该数据集有 912 个预测变量。我试图对丢失的案件进行过度抽样,以达到与获胜案件几乎相同的数量(因此每个获胜案件和失败案件都有 14399 个案件)。
TARGET 是丢失 (0) 和赢 (1) 案例的列:
table(dat_train$TARGET)
0 1
8677 14399
现在我正在尝试使用 ROSE ovun.sample 来平衡它们
dat_train_bal <- ovun.sample(dat_train$TARGET~., data = dat_train, p=0.5, seed = 1, method = "over")
我收到此错误:
Error in parse(text = x, keep.source = FALSE) :
<text>:1:17538: unexpected symbol
1: PPER_409030143+BP_RESPPER_9639064007+BP_RESPPER_7459058285+BP_RESPPER_9339059882+BP_RESPPER_9339058664+BP_RESPPER_5209073603+BP_RESPPER_5209061378+CRM_CURRPH_Initiation+Quotation+CRM_CURRPH_Ne
任何人都可以帮忙吗?谢谢 :-)
解决方案
从一个虚假示例中复制您的代码我发现您的公式中有一个错误dat_train$TARGET~.
需要更正为TARGET~.
dframe <- tibble::tibble(val = sample(c("a", "b"), size = 100, replace = TRUE, prob = c(.1, .9))
, xvar = rnorm(100)
)
# Use oversampling
dframe_os <- ROSE::ovun.sample(formula = val ~ ., data = dframe, p=0.5, seed = 1, method = "over")
table(dframe_os$data$val)
推荐阅读
- java - 如何在 Spring Security 过滤器中授权 CORS
- node.js - Promise 在递归函数中不起作用
- android-studio - Android Studio 无法从 pom 文件下载依赖项
- flutter - 参数类型'字符串?函数(字符串)'&'无效?函数(字符串)'不能分配给参数类型字符串?函数(字符串?)?和无效?函数(字符串?)?
- javascript - 防止在 svg 中缩放图案
- javascript - FlexLayoutModule 在其他模块中不起作用
- python - 如何制作始终保持在玩家面前的十字准线
- php - 如何使用 php curl 下载 youtube 流数据视频?
- javascript - 如何通过页面转换在 PHP 中接收 Javascript 变量
- typescript - 带有 Cypress 和 Mocha 的模板字符串