【发布时间】:2020-02-25 00:14:58
【问题描述】:
我想测试一个 cforest 分类模型的准确性。我运行了 50 次,每次运行我得到不同的分类。我也有基本事实,即要测试的真实分类。
对于每个分类,我计算了一个混淆矩阵(总共 50 个混淆矩阵)。我现在可以计算从各个混淆矩阵中获得的所有 50 个准确度值的平均值,以获得模型的整体准确度吗?这会是测试模型(平均)准确性的准确方法吗?
【问题讨论】:
标签: r confusion-matrix
我想测试一个 cforest 分类模型的准确性。我运行了 50 次,每次运行我得到不同的分类。我也有基本事实,即要测试的真实分类。
对于每个分类,我计算了一个混淆矩阵(总共 50 个混淆矩阵)。我现在可以计算从各个混淆矩阵中获得的所有 50 个准确度值的平均值,以获得模型的整体准确度吗?这会是测试模型(平均)准确性的准确方法吗?
【问题讨论】:
标签: r confusion-matrix
正如您所说,您在同一数据集上运行模型(森林分类模型)50 次,每次都得到不同的结果,这是可能的,因为模型每次运行时使用不同的 hyperparameter 值,顾名思义,它是一个树模型,所以树的切割会有所不同。
有两种解决方案:
第一种方法,正如你建议的取平均值,更具体地说,因为这是一个分类模型,你可以取 majority vote 的 confusion matrix,然后最终确定你的结果。这将为您提供相当准确的结果。
第二种更合乎逻辑的方法是将模型中的 nfold cross validation 参数设置为 50 或类似的参数,使用 50 个不同的数据切割自动重新训练模型 50 次,然后这将为您提供一个模型和比 50 平均模型更好的性能。
【讨论】: