在 KFold 交叉验证的情况下如何显示平均分类报告和混淆矩阵

Posted

技术标签:

【中文标题】在 KFold 交叉验证的情况下如何显示平均分类报告和混淆矩阵【英文标题】:How to display mean classification report and confusion matrix in case of KFold cross validation 【发布时间】:2021-03-03 02:09:55 【问题描述】:

我正在尝试使用 Keras ANN 分类器在 python 中执行 5 折交叉验证,我需要一个单一的平均分类报告和所有折叠的混淆矩阵。

我可以计算每个折叠的混淆矩阵和分类报告,并按照提供的代码 sn-p here 显示它们。

问题:

如何计算所有折叠的平均混淆矩阵和平均报告?

【问题讨论】:

【参考方案1】:

混淆矩阵而言,它用于总结每个折叠的混淆矩阵,因为它们包含绝对值而不是百分比。但是,如果您想要一个平均混淆矩阵,您应该创建一个相同形状的confusion_mat_avg 变量,并为所有折叠取每个单元格的平均值。

关于平均报告,解决方法类似。下面的答案可能会给你一个更好的主意。

How to compute precision,recall and f1 score of an imbalanced dataset for K fold cross validation with 10 folds in python.

【讨论】:

以上是关于在 KFold 交叉验证的情况下如何显示平均分类报告和混淆矩阵的主要内容,如果未能解决你的问题,请参考以下文章

您是不是预测交叉验证后的测试数据(gridsearchcv w/KFold)以及如何预测?

使用手动 KFold-Cross 验证与 KerasClassifier-KFold 交叉验证时的不同结果

sklearn中的Kfold交叉验证每次都会给出不同的折叠

如何在python中从头开始获取kfold拆分以进行交叉验证?

交叉验证分析每一折(fold of Kfold)验证数据的评估指标并绘制综合ROC曲线

KFold 交叉验证不能修复过度拟合