通过平均所有 n 个混淆矩阵的准确度来获得 n 个不同混淆矩阵的总体准确度
Getting overall accuracy of n different confusion matrices by averaging accuracy of all n confusion matrices
我想测试 cforest 分类模型的准确性。我 运行 50 次,每次 运行 我得到了不同的分类。我也有基本事实,即要测试的真实分类。
对于每个分类,我都计算了一个混淆矩阵(总共 50 个混淆矩阵)。我现在可以计算从各个混淆矩阵中获得的所有 50 个准确度值的平均值,以获得模型的整体准确度吗?这是测试我的模型(平均)准确性的准确方法吗?
正如您所说,您在同一数据集上 运行 模型(森林分类模型)50 次,每次都得到不同的结果,这是可能的,因为模型使用了不同的 hyperparameter
每次它的值 运行,顾名思义它是一个树模型,所以树的切割会有所不同。
有两种解决方法:
第一种方法,正如您建议的取平均值,更具体地说,因为这是一个分类模型,您可以取 confusion matrix
的 majority vote
,然后最终确定结果。这将为您提供相当准确的结果。
第二种方法,更合乎逻辑的是将模型中的 nfold cross validation
参数设置为 50
或类似参数,使用 50 种不同的数据切割自动重新训练模型 50 次,然后这会给你一个单一的模型和比 50 个平均模型更好的性能。
我想测试 cforest 分类模型的准确性。我 运行 50 次,每次 运行 我得到了不同的分类。我也有基本事实,即要测试的真实分类。
对于每个分类,我都计算了一个混淆矩阵(总共 50 个混淆矩阵)。我现在可以计算从各个混淆矩阵中获得的所有 50 个准确度值的平均值,以获得模型的整体准确度吗?这是测试我的模型(平均)准确性的准确方法吗?
正如您所说,您在同一数据集上 运行 模型(森林分类模型)50 次,每次都得到不同的结果,这是可能的,因为模型使用了不同的 hyperparameter
每次它的值 运行,顾名思义它是一个树模型,所以树的切割会有所不同。
有两种解决方法:
第一种方法,正如您建议的取平均值,更具体地说,因为这是一个分类模型,您可以取 confusion matrix
的 majority vote
,然后最终确定结果。这将为您提供相当准确的结果。
第二种方法,更合乎逻辑的是将模型中的 nfold cross validation
参数设置为 50
或类似参数,使用 50 种不同的数据切割自动重新训练模型 50 次,然后这会给你一个单一的模型和比 50 个平均模型更好的性能。