10折交叉验证的混淆矩阵

Posted

技术标签:

【中文标题】10折交叉验证的混淆矩阵【英文标题】:Confusion matrix of 10 fold cross validation 【发布时间】:2014-04-19 17:23:35 【问题描述】:

我正在尝试执行 10 折交叉验证,以在 matlab 中使用神经网络分析我的字符识别项目的结果。我知道如何计算每个折叠的混淆矩阵。但问题是我不知道如何计算平均超过 10 次的混淆矩阵。

【问题讨论】:

【参考方案1】:

如果您有每个折叠的混淆矩阵,您可以简单地将它们的值相加以获得总混淆矩阵。

例如,如果你有两个折叠,那么产生的混淆矩阵是

                     Classifier
                 -----------------
                 Class 1   Class 2
Actual | Class 1      25         3
       | Class 2       6        21

                     Classifier
                 -----------------
                 Class 1   Class 2
Actual | Class 1      23         5
       | Class 2       4        23

那么总的混淆矩阵是

                     Classifier
                 -----------------
                 Class 1   Class 2
Actual | Class 1      48         8
       | Class 2      10        44

【讨论】:

谢谢克里斯。现在知道了。 混淆矩阵通常用总数而不是平均值来表示。如果您的意思是要对多个折叠的性能进行平均,那么您可以对所有元素进行平均(即,将总混淆矩阵中的所有数字除以折叠数),但这不会为您提供任何不在其中的信息总混淆矩阵,如果每个折叠中的测试集大小不同,它可能会使您的数字产生偏差。

以上是关于10折交叉验证的混淆矩阵的主要内容,如果未能解决你的问题,请参考以下文章

交叉验证中的准确性和混淆矩阵

如何在情感分析中添加混淆矩阵和k-fold 10折

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

获取每个交叉验证折叠的混淆矩阵

sklearn中留一法交叉验证的混淆矩阵

如何使用 LIBSVM 从混淆矩阵中获得分类精度?