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

如何将结构异构的caret变量重要性嵌套列表转换为dataframe

R语言caret多模型变量重要性嵌套列表转结构化数据框代码方案

以下代码可直接适配你描述的两类varImp输出结构,自动完成批量转换:

首先加载依赖包:

# 需提前安装好对应包
library(caret)
library(tidyverse)

执行转换,假设你通过lapply生成的变量重要性嵌套列表命名为imp_list:

final_imp_df <- imap_dfr(imp_list, function(imp_result, algo_name) {
  # 提取单模型的重要性原始数据,行名转特征名列
  single_imp <- imp_result$importance %>%
    rownames_to_column("feature_name")
  
  # 统一提取重要性数值
  if ("Overall" %in% colnames(single_imp)) {
    single_imp$importance <- single_imp$Overall
  } else {
    # 两类输出数值完全一致,任选其一即可,也可替换为指定列名如"Death"
    single_imp$importance <- single_imp[[2]]
  }
  
  # 输出标准三列结构
  single_imp %>%
    mutate(algorithm = algo_name) %>%
    select(algorithm, feature_name, importance)
})

补充说明:

  • 输出的final_imp_df就是符合要求的三列tibble结构,可直接用write.csv()导出到CSV文件,无需手动整理Excel。
  • 如果你的varImp生成时指定了scale参数,转换结果会保留原计算的重要性数值,不会做额外修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:27:01