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

如何用R的cvms包绘制列和为1的面部表情识别混淆矩阵?

在cvms中生成列归一化的混淆矩阵

要实现每列(Target真实类别)内预测占比的混淆矩阵,直接使用cvms::plot_confusion_matrix()的内置参数即可,无需额外转换数据或切换环境。

核心实现步骤

  • 指定normalize = "column":将每个单元格值转换为对应Target列的占比,确保每列求和为1
  • 若需匹配示例图的轴翻转效果,添加flip_axis = TRUE参数

代码示例

library(cvms)

# 替换为你的真实标签与预测标签数据
emotion_data <- data.frame(
  Target = factor(c("Happy", "Sad", "Angry", "Surprise", "Happy", "Sad", "Angry", "Surprise")),
  Prediction = factor(c("Happy", "Sad", "Happy", "Surprise", "Happy", "Angry", "Angry", "Surprise"))
)

# 生成混淆矩阵评估结果
cm_result <- evaluate(emotion_data, target_col = "Target", prediction_col = "Prediction")

# 绘制列归一化混淆矩阵(列和为1),并翻转轴匹配示例图
plot_confusion_matrix(
  cm_result$Confusion_Matrix,
  normalize = "column",
  flip_axis = TRUE,
  title = "面部表情识别混淆矩阵(列归一化)"
)

关键参数说明

  • normalize = "column":归一化方向为列(对应Target真实类别),每个单元格值代表该预测类别在对应真实类别中的占比,保证每列总和为1
  • flip_axis = TRUE:交换横轴与纵轴的类别展示,匹配示例图的轴翻转布局
  • 若已有现成的混淆矩阵矩阵对象,可先转换为cvms兼容格式:as_tibble(your_confusion_matrix, rownames = "Prediction"),并手动添加Target列对应真实类别

版本要求

确保cvms包版本≥1.0.0,若版本过低,执行install.packages("cvms")更新

内容的提问来源于stack exchange,提问作者grace.cutler

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 12:32:21