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

如何计算R中caret包10折交叉验证指标的均值与方差

解决K折交叉验证性能指标的均值与方差计算问题

步骤1:合并所有折的指标数据

先把10个fold的性能指标合并成统一的数据框,方便后续批量计算:

# Base R 实现
all_metrics <- do.call(rbind, lapply(transformed_conf_matrices, function(fold) as.data.frame(fold)))

# 或用dplyr包简化操作
library(dplyr)
all_metrics <- bind_rows(transformed_conf_matrices)

步骤2:计算各指标的均值与方差

针对合并后的数据集,直接对每个指标列计算均值和方差:

# Base R 实现
metric_stats <- data.frame(
  均值 = sapply(all_metrics, mean),
  方差 = sapply(all_metrics, var)
)

# dplyr 实现
metric_stats <- all_metrics %>%
  summarize_all(list(均值 = mean, 方差 = var))

单指标的简化计算

如果只需要计算某个特定指标(比如准确率accuracy),可以直接提取所有fold的该指标值再计算:

# 提取所有fold的准确率
accuracy_values <- sapply(transformed_conf_matrices, function(fold) fold$accuracy)

# 计算整体均值和方差
accuracy_mean <- mean(accuracy_values)
accuracy_var <- var(accuracy_values)

由于你所有fold的指标值完全相同,最终方差结果会是0,均值等于该指标的固定值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 15:13:09