机器学习检测指标选择(衡量机器学习模型性能)
机器学习检测指标选择(衡量机器学习模型性能)
2024-11-21 09:32:00  作者:樱婲涙  网址:https://m.xinb2b.cn/tech/nrv293133.html
点击上方关注,All in AI中国


虽然有很多指标可以用来衡量机器学习模型的性能,如Accuracy和Recall,但ROC曲线和CAP曲线对于分类问题非常有用。在本文中,我将探讨ROC和CAP是什么以及如何使用Python和虚拟数据集来创建这些曲线。

即使在探索了很多关于CAP Curve的文章之后,我还是找不到一篇详细解释如何创建它们的文章,这同时也是我写这篇文章的原因。

完整的代码可以从以下GitHub存储库中看到

https://github.com/kb22/ML-Performance-Evaluation

数据集

我创建了自己的数据集。主要有两个特性,年龄和经验。基于这两个特征,输出标签为0.0,表示小于$200k的薪水,1.0表示薪水大于或等于$200k


完整的数据集

绿点代表薪水超过或等于20万美元,红点代表薪水低于20万美元。我还确保了两个类之间存在一些重叠,因此数据会更加真实,不易分离。

分类

首先,我将数据分为两组,70%的训练数据和30%的测试数据。我使用支持向量分类器和线性内核来训练数据,然后在测试数据上测试模型。该模型的得分达到95%。


测试数据分类

绩效评估

受试者工作特征曲线 (ROC)

又称为感受性曲线,是测量分类模型性能的绝佳方法。真阳性率(TPR)与假阳性率(FPR)是分类器预测概率的对应关系。然后,计算图下的面积。

曲线下面积越大,区分类别的模型就越好。

导入文件并创建基线

首先,我从sklearn.metrics导入roc_curve和auc,这样我就可以创建ROC曲线并计算曲线下面积。我还将数字大小定义为20x12,并创建从(0,0)到(1,1)的基线。


值r--表示该线的颜色为红色,它是一条虚线( - - - - - - - - - - - - - )。

计算概率并确定TPR和FPR

接下来,使用predict_proba计算预测的概率并将其存储在probs中。它由两列组成,第一列包括第一类概率(薪水<$200k),第二列包括第二类概率(薪水≥$200k)。所以,我使用probs [:,1]选择第二类的概率。


roc_curve生成roc曲线并返回fpr、tpr和阈值。最后,使用fpr和tpr作为auc内部的输入,我计算该模型曲线下的面积,并将其保存在roc_auc中。 roc_auc现在具有由支持向量分类器生成的曲线下面积。

绘制ROC曲线

我使用fpr作为x值绘制曲线,使用tpr作为y值绘制曲线,颜色为绿色,线宽为4。此曲线的标签包括曲线下面积, x轴标签设置为假阳性率,y轴标签设置为真阳性率。标题是接收器操作特性,图例显示在图的右下角。文本大小设置为16。



ROC曲线

曲线下面积为0.98,非常惊人,并提供了我们的模型表现出色的信息。

累积精度曲线(CAP)

CAP曲线尝试分析如何使用最少的尝试次数有效地识别给定类的所有数据点。在这个数据集中,我试图确定支持向量分类器能够多快地识别薪水大于或等于$ 200K的个人。

计算每个类的人数

首先,我找到测试数据中的总数据点(60)并将其保存在变量total中。测试标签是0.0或1.0,所以如果我添加所有值,我将获得类1.0(31)的计数,我可以将其保存在class_1_count中。从总数中减去这个数字会得到class_0_count(29)。


我还将数字大小设置为20x12,使其大于正常值。

随机模型

首先,我们绘制一个随机模型,该模型基于1.0类的正确检测将线性增长的事实。


颜色为红色,样式为虚线,使用 - 定义。我将标签设置为随机模型。


随机模型

完美模型

接下来,我绘制完美的模型。一个完美的模型是一个能够检测与1.0级数据点相同次数的所有1.0级数据点的模型。完美模型需要31次尝试来识别31个1.0级数据点。

我把情节涂成灰色,标签设置为完美模型。



完美模型

训练模型(支持向量分类器)

最后,我绘制了支持向量分类器的结果。首先,就像在ROC曲线中一样,我在变量probs中提取类1.0的概率。


我把probs和y_test压缩在一起。然后,按照概率的相反顺序对此zip进行排序,使得最大概率首先出现,然后出现概率较低的概率。我只提取数组中的y_test值并将其存储在model_y中。

np.cumsum()创建一个值数组,同时将数组中的所有先前值累加到当前值。例如,如果我们有一个数组[1,1,1,1,1]。应用cumsum将产生[1,2,3,4,5]。我用它来计算y值。此外,我们需要在数组前面为起点(0,0)追加0。 x值的范围从0到总 1。我添加了一个,因为np.arange()不包括终点,我希望端点是total。


然后我用蓝色绘制结果并标记支持向量分类器。我还在剧情中包括了另外两个模型。


支持向量分类器

使用曲线下面积进行CAP分析

分析CAP曲线的第一种方法是使用曲线下面积。让我们将随机模型下的区域视为a。我们使用以下步骤计算准确率:

计算完美模型(aP)下的面积直到随机模型(a)计算预测模型(aR)下的面积直到随机模型(a)计算准确率(AR)= aR / aP

精度率越接近1,模型越好。


使用auc,我计算了所有区域,然后使用这些值计算了准确率。该比率约为0.97,非常接近1,表明我们的模型确实有效。

使用Plot进行CAP分析

另一种分析CAP曲线的方法包括读取我们上面生成的图。同样的步骤是:

从x轴绘制50%的垂直线,直到它越过支持向量分类器图。在垂直线与训练模型相交的地方,绘制一条水平线,使其与y轴相交。计算1类标签相对于1类标签总数的百分比。

一旦我们知道百分比,我们就可以使用以下括号来分析它:

1.低于60%:垃圾模型60% - 70%:模型不佳70% - 80%:良好的模式80% - 90%:非常好的模型超过90%:太好了

请注意,如果该值大于90%,则测试过拟合是一种很好的做法。


首先,我通过计算总测试数据的50%的int值来找到索引。我用它来绘制从这一点到训练模型的垂直虚线( - - - )。接下来,我绘制从这个交点到y轴的直线。我通过将目前观察到的1.0级值除以总类1.0数据点并将其乘以100来确定百分比。我得到的值为93.55%。


CAP曲线分析

尽管百分比是93.55%,大于90%,但结果是可以预期的。当我们在开始研究数据集和分类时,该模型在分割数据方面非常有效。虽然我在测试数据上使用了CAP分析,但我们也可以使用相同的方法来训练数据,并分析我们的模型在训练数据方面的了解程度。

结论

本文概述了如何在Python中计算ROC曲线和CAP曲线以及如何分析它们。


编译出品

  • 普通话几月报几月考
  • 2024-11-22普通话几月报几月考一般是每年3月、9月,由应试者在网上报名,考试时间一般在每年的5月、12月左右2018年普通话考试报名时间各地不同,多次报考,更多报考时间详见当地公告,可参考2018年全国普通话考试报名入口|普通话水。
  • 七夕节礼物买什么好(十四款七夕节好礼清单)
  • 2024-11-22十四款七夕节好礼清单你们家里都是用的什么网啊?推荐给我一下,为什么就我家的网不能网恋?1、恋爱兑换券(50元)七夕这种节日,礼物当然要自己动手DIY才有心意呀~生活总要有一些小浪漫才好!2、沙漏伴眠灯(150元)开头给你。
  • 飞机儿童免票标准(趁着年轻赶紧去玩玩)
  • 2024-11-22趁着年轻赶紧去玩玩无法免票,根据规定已满两周岁、未满十二周岁的儿童须购买儿童票未满两周岁的婴儿须购买婴儿票,不单独占用座位;如需要单独占用座位时,须购买儿童票具体票价请向售票人员咨询每名成人只能携带两名不超过十二周岁的。
  • 追爱家族分集剧情介绍14(齐国盛看齐天佐的身体没有变好)
  • 2024-11-22齐国盛看齐天佐的身体没有变好剧情看点:天佑齐天佐叶敏怡齐国肖楠哈喽,大家好!由郭京飞、贾乃亮、谭卓等主演的剧情/爱情电视剧《追爱家族》正在火热播出!在最近的剧情中,大羊和小月为了齐天又要拿奖金的事情,羡慕地问齐天的打算,而齐天则。
  • 清明喝什么茶(清明节前后适合喝什么茶)
  • 2024-11-22清明节前后适合喝什么茶黄芩茶:黄芩6克,绿茶3克,将黄芩用200毫升水煮沸,然后用它来冲泡绿茶,5~10分钟后即可饮用具有清热燥湿、泻肺火、解毒、利尿、降压、镇静等功效,主治热病烦躁,对肺炎、肾炎等病症有一定益处车前子橘皮。
  • 邹城市几号供暖(关于邹城的简介)
  • 2024-11-22关于邹城的简介邹城市11月下旬开始供暖邹城市,山东省辖县级市,由济宁市代管位于山东省西南部,济宁市东部,行政区域面积1616.56平方公里,常住人口115.45万人(2018年末),辖3个街道、13个镇,市人民政府。
  • 上古卷轴5十周年纪念版值得升级(上古卷轴5还在更新)
  • 2024-11-22上古卷轴5还在更新史无前例的0赞补丁自2018年的E3展以来,玩家们对于《上古卷轴6》的认知就停留在了那段半分钟的概念PV3年之后,B社游戏总监陶德在接受《每日电讯报》的媒体采访时提到,《上古卷轴6》目前仅停留在设计阶。
  • 融创美元债最新消息(融创推出境外债务重组框架)
  • 2024-11-22融创推出境外债务重组框架21世纪经济报道记者张敏北京报道12月9日早间,融创发布了关于境外债重组重大进展的公告其公告显示,依据初步重组框架,包括30亿至40亿美元的现有债务及若干股东借款将转换为普通股或股权挂钩工具;剩余现有。
  • 周末早安语录(周末早安语录有哪些)
  • 2024-11-22周末早安语录有哪些采一丝惦记,问候疲倦的你,为你拂去一周的琐碎;撷一缕清风,关怀奔波的你,为你捶揉疲惫的身躯;发一条信息,愿你生活顺心,工作舒心,周末开心今儿允许你灵魂出窍,对着枕头缠绵,对着幸运拥抱,对着美食狂吻,对。
  • 关于端午节的一句话(关于端午节的句子大全)
  • 2024-11-22关于端午节的句子大全愿君开怀,幸福如意!身体健康,福寿绵长!端午节到了,我祝愿你节日快乐,多吃粽子!玉台金盏对炎光,全似去年香——朱翌《朝中措》慢慢的闭上眼睛,想想我,想想粽子,你会发现我和粽子一样可爱南方的端午节要比北。
  • 林依晨主演电视剧全部(林依晨演过的电视剧)
  • 2024-11-22林依晨演过的电视剧今天我们来聊一聊当下最热的电视剧《小女花不弃》,相信大家都知道花不弃是由林依晨所主演的,并且林依晨还被广大粉丝亲切的称为“不老女神”小编也是这么认为的,1982年出生的林依晨现在都已经36了,但是在她。
  • 日常补水滋润面霜哪款好一点呢(买保湿面霜时建议囤这4款)
  • 2024-11-22买保湿面霜时建议囤这4款文/小啾Hi,大家好,我是小啾,帮你纠正变美误区,正确开启你的变美之旅~最近给大家分享过不少的面霜,但小啾发现不少姐妹们说价格都偏高了,而且马上就要过年了,开支都会增加所以小啾今天就来给姐妹们盘点几款。