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

如何在R语言中为KNN模型生成含评估指标的混淆矩阵

R语言KNN模型混淆矩阵生成方法

你已经得到的nn是knn()函数返回的测试集预测类别向量,生成混淆矩阵前需要先准备好测试集对应的真实类别标签(如果你的new.norm.df中存储了真实标签列,可直接提取,比如标签为第3列则为new.norm.df[,3],下文统一用test.labels代指真实标签向量,你可根据实际情况替换)。

方法1:基础R自带函数实现

无需安装额外依赖,直接调用table()函数即可生成基础混淆矩阵:

# 行对应真实类别,列对应预测类别
conf_matrix <- table(Actual = test.labels, Predicted = nn)
print(conf_matrix)

如需计算精确率、召回率、F值,可基于生成的混淆矩阵手动计算,也可使用下方第二种方法直接输出所有评估指标。

方法2:使用caret包生成带评估指标的混淆矩阵(推荐)

该方法会自动计算你需要的精确率、召回率、F1值、总体准确率等全套分类评估指标,无需手动计算:

  • 第一步:安装并加载caret包(已安装可跳过安装步骤)
# 仅首次使用需要运行安装命令
install.packages("caret")
library(caret)
  • 第二步:生成混淆矩阵和评估指标
# 将预测值和真实值统一转为因子类型,避免因类别格式不匹配报错
conf_result <- confusionMatrix(as.factor(nn), as.factor(test.labels))
# 输出完整混淆矩阵和全部评估指标
print(conf_result)
# 单独提取各类别对应的精确率、召回率、F1值
print(conf_result$byClass)

提示:如果是二分类任务,conf_result$byClass会直接输出整体的精确率、召回率、F1值;如果是多分类任务,会输出每个类别对应的上述三项指标。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:45:04