如何评估不同模型在一个数据集上的性能?

Posted

技术标签:

【中文标题】如何评估不同模型在一个数据集上的性能?【英文标题】:How to evaluate the performance of different model on one dataset? 【发布时间】:2016-02-13 07:20:18 【问题描述】:

我想评估不同模型的性能,例如SVMRandForestCNN 等,我只有一个数据集。因此,我将数据集拆分为训练集和测试集,并在该数据集上使用训练数据训练不同的模型,并使用测试数据集进行测试。

我的问题:我能否仅在一个数据集上获得不同模型的真实性能?例如:我发现SVM模型得到了最好的结果,那么我应该选择SVM作为我最终的分类模型吗?

【问题讨论】:

【参考方案1】:

您可以为所有模型绘制 ROC 曲线。AUC 最高的模型将是最佳模型。

【讨论】:

【参考方案2】:

通过交叉验证来交叉验证您的模型与不同的测试样本以避免偏差可能是一个更好的主意。还要根据您的应用程序类型根据不同的评估指标检查您的模型。例如,如果每个模型存在分类问题,请使用召回率、准确率和 AUC。

评估结果可能非常具有欺骗性,需要大量验证。

【讨论】:

以上是关于如何评估不同模型在一个数据集上的性能?的主要内容,如果未能解决你的问题,请参考以下文章

模型评估:模型状态评估

模型评估方法

什么是维度诅咒?如何评估降维算法在当前任务数据集上的效果?

使用交叉验证评估逻辑回归

python计算多个模型在不同数据集上的预测概率获取每个数据集上的最优模型多个最优模型的ROC曲线进行对比分析

交叉验证