You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R中使用ROSE处理不平衡数据集时报变量类型错误如何解决?

问题根因
  • 你的数据集包含nameOrig、nameDest两个唯一标识类的字符字段,这类字段既不属于ROSE支持的连续数值变量,也不属于分类因子变量,是触发报错的核心原因
  • 交易类型字段type当前为字符类型,未转换为分类因子,也不符合ROSE的变量要求
  • 你仅转换了目标变量isFraud为因子,未调整其他不符合要求的字段,因此报错未消失
修复代码
# 1. 移除对欺诈预测无意义的唯一ID字段
dataset_clean <- dataset[, !names(dataset) %in% c("nameOrig", "nameDest")]
# 2. 将字符型分类字段type转换为因子
dataset_clean$type <- as.factor(dataset_clean$type)
# 3. 目标变量isFraud转因子
dataset_clean$isFraud <- as.factor(dataset_clean$isFraud)
# 4. 重新运行ROSE
data_ROSE <- ROSE(isFraud~., data = dataset_clean, N = 500, seed = 111)$data
补充说明
  • 如果后续还需要保留交易主体标识做后续分析,可以先把这两个字段存到独立变量中,ROSE处理完成后再对应拼接回去即可
  • step字段如果是时间步长的分类标识,你也可以根据分析需要决定是否转换为因子,当前是整数型属于连续类,ROSE也可以正常处理

内容的提问来源于stack exchange,提问作者WILLIAM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 06:06:04