如何评估数据挖掘模型?

数据挖掘 数据挖掘 回归 决策树
2022-02-28 06:45:06

我将评估我制作的分类模型。这就是逻辑回归和决策树。

1.我用什么标准进行比较?
2.假设选型的标准是ASE。一种是训练数据的ASE高,测试数据的ASE低,另一种是训练数据的ASE低,测试数据的ASE高。如果你选择一个模型,你会选择哪些模型?

3个回答
  • 准确度(针对分类问题)
  • 精确
  • 记起
  • F1分数
  • AUC-ROC,特别是对于不平衡的数据集

训练集上的好表现和测试集上的糟糕表现是由于过拟合造成的。所以你应该尝试寻找解决过度拟合的方法,例如参数的正则化,使用交叉验证的参数调整等......

分类准确度的评价标准为:

  1. F-score(通常是F1分数,对精确率和召回率给予同等重视)
  2. AUC - ROC用于二进制分类(检查

事实上,没有任何标准,这完全取决于你的情况。

如果您的问题主题可以忽略,一些其他特征(例如平衡/不平衡和二元/多类)可能会缩小您的搜索结果。

此外,还有许多基准可以根据许多参数评估分类结果,例如数据集总体、基于类别的准确度、整体准确度等等。其中一些基准是Landis-Koch 基准Fleiss 基准Altman 基准Cicchetti 基准

免责声明:

如果您使用 python,我建议您使用PyCM,它会推荐最适合的指标进行评估和比较。这是一个从该模块获取推荐参数的简单代码:

>>> from pycm import *

>>> cm = ConfusionMatrix(matrix={"Class1": {"Class1": 1, "Class2":2}, "Class2": {"Class1": 0, "Class2": 5}})  

>>> print(cm.recommended_list)
["Kappa", "SOA1(Landis & Koch)", "SOA2(Fleiss)", "SOA3(Altman)", "SOA4(Cicchetti)", "CEN", "MCEN", "MCC", "J", "Overall J", "Overall MCC", "Overall CEN", "Overall MCEN", "AUC", "AUCI", "G", "DP", "DPI", "GI"]

>>> score = cm.Kappa