什么被认为是“好”? f1成绩?


在机器学习中使用分类模型时,我们用来评估模型质量的常用指标是F1 分数

该指标的计算方法如下:

F1 分数= 2 *(准确率 * 召回率)/(准确率 + 召回率)

金子:

  • 准确性:相对于总阳性预测的正确阳性预测
  • 提醒:根据实际阳性总数纠正阳性预测

例如,假设我们使用逻辑回归模型来预测 400 名不同的大学篮球运动员是否会被选入 NBA。

以下混淆矩阵总结了模型所做的预测:

以下是计算模型 F1 分数的方法:

准确率 = 真阳性 / (真阳性 + 假阳性) = 120/ (120+70) = 0.63157

召回率 = 真阳性 / (真阳性 + 假阴性) = 120 / (120+40) = 0.75

F1 分数 = 2 * (.63157 * .75) / (.63157 + .75) = . 6857

什么是好的F1分数?

学生经常问的一个问题是:

F1 的好成绩是多少?

简而言之,F1 分数通常越高越好。

回想一下,F1 分数的范围可以从 0 到 1,其中 1 表示模型能够将每个观察结果完美地分类到正确的类别,0 表示模型无法将观察结果分类到正确的类别。

为了说明这一点,假设我们有一个逻辑回归模型,它产生以下混淆矩阵:

以下是计算模型 F1 分数的方法:

准确率 = 真阳性 / (真阳性 + 假阳性) = 240/ (240+0) = 1

召回率 = 真阳性 / (真阳性 + 假阴性) = 240 / (240+0) = 1

F1 分数 = 2 * (1 * 1) / (1 + 1) = 1

F1 分数等于 1,因为它能够将 400 个观测值中的每一个完美地分类为一个类。

现在考虑另一个逻辑回归模型,它简单地预测每个球员都会被选中:

以下是计算模型 F1 分数的方法:

准确率 = 真阳性 / (真阳性 + 假阳性) = 160/ (160+240) = 0.4

召回率 = 真阳性 / (真阳性 + 假阴性) = 160 / (160+0) = 1

F1 分数 = 2 * (.4 * 1) / (.4 + 1) = 0.5714

这将被视为一个基线模型,我们可以将其与逻辑回归模型进行比较,因为它代表一个对数据集中的每个观测值做出相同预测的模型。

与参考模型相比,我们的 F1 分数越高,我们的模型就越有用。

回想一下之前我们的模型的 F1 分数为0.6857 。这并不比0.5714高很多,表明我们的模型比基线模型更有用,但也不是很多。

关于比较 F1 分数

在实践中,我们通常使用以下过程来为分类问题选择“最佳”模型:

步骤 1:拟合一个参考模型,对每个观测值做出相同的预测。

步骤2:拟合几个不同的分类模型并计算每个模型的F1分数。

步骤 3:选择 F1 分数最高的模型作为“最佳”模型,验证其产生的 F1 分数是否高于参考模型。

没有特定值被认为是“好的”F1 分数,因此我们通常选择产生最高 F1 分数的分类模型。

其他资源

F1 分数与准确度:您应该使用哪个?
如何计算R中的F1分数
如何用Python计算F1分数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注