加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 襄阳站长网 (https://www.0710zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

如何评估机器学习模型的性能

发布时间:2020-09-26 12:05:12 所属栏目:创业 来源:网络整理
导读:副标题#e# 您可以整天训练有监督的机器学习模型,但是除非您评估其性能,否则您永远无法知道模型是否有用。这个详细的讨论回顾了您必须考虑的各种性能指标,并对它们的含义和工作方式提供了直观的解释。 为什么需要评估? 让我从一个非常简单的例子开始。

为了理解这一点,让我们看这个例子:当您在百度中查询时,它返回40个页面,但是只有30个相关。但是您的朋友告诉您,该查询共有100个相关页面。所以它的精度是30/40 = 3/4 = 75%,而召回率是30/100 = 30%。因此,在这种情况下,精度是“搜索结果的有用程度”,召回率是“结果的完成程度”。

ROC和AUC

接收器工作特性曲线(ROC):

它是   通过从模型给出的概率得分的反向排序列表中获取多个阈值而计算出的 TPR(真正率)和FPR(假正率)之间的关系图 。

如何评估机器学习模型的性能

现在,我们如何绘制ROC?

为了回答这个问题,让我带您回到上面的表1。仅考虑M1模型。您会看到,对于所有x值,我们都有一个概率得分。在该表中,我们将得分大于0.5的数据点分配为类别1。现在,以概率分数的降序对所有值进行排序,并以等于所有概率分数的阈值一一取值。然后,我们将获得阈值= [0.96,0.94,0.92,0.14,0.11,0.08]。对应于每个阈值,预测类别,并计算TPR和FPR。您将获得6对TPR和FPR。只需绘制它们,您将获得ROC曲线。

注意:由于最大TPR和FPR值为1,因此ROC曲线下的面积(AUC)在0和1之间。

蓝色虚线下方的区域是0.5。AUC = 0表示模型很差,AUC = 1表示模型完美。只要您模型的AUC分数大于0.5。您的模型很有意义,因为即使是随机模型也可以得分0.5 AUC。

非常重要:   即使是从不平衡的数据集生成的哑模型,您也可以获得很高的AUC。因此,在处理不平衡的数据集时请务必小心。

注意:   只要维持顺序,AUC与数值概率分数无关。只要所有模型在根据概率得分排序后给出相同顺序的数据点,所有模型的AUC都将相同。

对数损失

该性能度量检查数据点的概率得分与截止得分的偏差,并分配与偏差成比例的惩罚。

对于二进制分类中的每个数据点,我们使用以下公式计算对数损失:

其中p =数据点属于类别1的概率,y是类别标签(0或1)。

假设某些x_1的p_1为0.95,某些x_2的p_2为0.55,并且符合1类条件的截止概率为0.5。然后两者都符合类别1的条件,但是p_2的对数损失将比p_1的对数损失大得多。

如何评估机器学习模型的性能

从曲线中可以看到,对数损失的范围是[0,无穷大]。

对于多类别分类中的每个数据点,我们使用以下公式计算对数损失:

如何评估机器学习模型的性能

如果x(o,c)属于类别1,则y(o,c)=1。其余概念相同。

测定系数

用 R 2 表示   。 在预测测试集的目标值时,我们会遇到一些误差(e_i),这是预测值与实际值之间的差。

假设我们有一个包含n个条目的测试集。众所周知,所有数据点都有一个目标值,例如[y1,y2,y3…….yn]。让我们将测试数据的预测值设为[f1,f2,f3,……fn]。

(编辑:PHP编程网 - 襄阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读