通过平均所有 n 个混淆矩阵的准确度来获得 n 个不同混淆矩阵的整体准确度
Posted
技术标签:
【中文标题】通过平均所有 n 个混淆矩阵的准确度来获得 n 个不同混淆矩阵的整体准确度【英文标题】:Getting overall accuracy of n different confusion matrices by averaging accuracy of all n confusion matrices 【发布时间】:2020-02-25 00:14:58 【问题描述】:我想测试一个 cforest 分类模型的准确性。我运行了 50 次,每次运行我得到不同的分类。我也有基本事实,即要测试的真实分类。
对于每个分类,我计算了一个混淆矩阵(总共 50 个混淆矩阵)。我现在可以计算从各个混淆矩阵中获得的所有 50 个准确度值的平均值,以获得模型的整体准确度吗?这会是测试模型(平均)准确性的准确方法吗?
【问题讨论】:
【参考方案1】:正如您所说,您在同一数据集上运行模型(森林分类模型)50 次,每次都得到不同的结果,这是可能的,因为模型每次运行时使用不同的 hyperparameter
值,顾名思义,它是一个树模型,所以树的切割会有所不同。
有两种解决方案:
第一种方法,正如你建议的取平均值,更具体地说,因为这是一个分类模型,你可以取 majority vote
的 confusion matrix
,然后最终确定你的结果。这将为您提供相当准确的结果。
第二种更合乎逻辑的方法是将模型中的 nfold cross validation
参数设置为 50
或类似的参数,使用 50 个不同的数据切割自动重新训练模型 50 次,然后这将为您提供一个模型和比 50 平均模型更好的性能。
【讨论】:
感谢您的回答!至于第一个解决方案,我对这个话题还很陌生,所以对我来说,我并不完全清楚我如何计算所有 50 个混淆矩阵的多数票(或者这到底是什么)?您能否详细说明一下?我理解的第二种方法。 - 明确一点,您认为简单地平均所有 50 个准确度值以对我的分类模型的平均性能做出假设不是一个好主意?以上是关于通过平均所有 n 个混淆矩阵的准确度来获得 n 个不同混淆矩阵的整体准确度的主要内容,如果未能解决你的问题,请参考以下文章