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

R语言随机森林预测:概率转类别未生成预期因子列表问题

问题分析与解决

你的问题出在最后一段循环代码里,存在两个关键错误:

  • 循环变量误用了未定义的training_num,应改为之前设定的sample_num
  • 每次循环都重新初始化predClass_control为新列表,随后直接用单个因子覆盖整个变量,导致最终仅保留最后一次循环的结果,而非存储所有模型的分类结果

修正后的代码

# 初始化存储分类结果的列表
predClass_control <- vector("list", sample_num)
names(predClass_control) <- sprintf("class_pred_model%s", seq(1:sample_num))

# 循环生成每个模型的二分类结果
for(s in 1:sample_num){
  # 将概率转换为二分类因子,并存入列表对应位置
  predClass_control[[s]] <- as.factor(ifelse(predictControl[[s]] > 0.5, 1, 0))
}

关键修正说明

  • 将列表初始化操作放在循环外部,避免每次循环重置列表结构
  • 循环内通过predClass_control[[s]]将单个模型的分类结果存入列表的对应位置
  • 统一使用sample_num作为循环范围,与前面的模型数量保持一致

修正后,predClass_control会成为一个长度为10的列表,每个元素对应一个模型生成的9670个元素的因子向量。

内容的提问来源于stack exchange,提问作者Asal Khoshravan Azar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 20:00:47