00:01
5.3,评估指标与评分到目前为止,我们使用精度正确分类的样本所占的比例来评估分类性能,使用R方分数来评估回归性能。但是,总结监督模型在给定数据集上的表现有多种方法,这两个指标只是其中两种。在实践中,这些指标可能不适用于你的应用。在选择模型与调参时,选择正确的指标是很重要的。5.3.1,牢记最终目标在选择指标时,你应该始终牢记机器学习应用的最终目标。在实践中,我们通常不仅对精确的预测感兴趣,还希望将这些预测结果用于更大的决策过程。在选择机器学习指标之前,你应该考虑应用高级目标,这通常被称为商业指标。Magic对于一个机器学习应用,选择特定算法的结果被称为商业影响impact。
01:02
请具有科学头脑的读者原谅本节中出现的商业语言。不要忘记,最终目标在科学中也同样重要。但是作者他想不到这一领域中与商业影响具有类似含义的词语。高级目标可能是避免交通事故或者减少入院人数,也可能是吸引更多的网站用户,或者让用户在你的商店花更多的钱。在选择模型或调参时,你应该选择对商业指标具有最大正面影响的模型或参数值。这通常是很难的,因为要想评估某个模型的商业影响,可能需要将它放在真实的生产环境中。在开发的初期阶段,调仓,仅为了测试就将模型投入生产环境往往是不可行的,因为可能设计很高的商业风险或者个人风险。
02:08
想象一下,为了测试无人驾驶汽车的行人避让能力,没有事先验证就让他直接上路。如果模型非常糟糕的话,行人就会遇到麻烦。因此,我们通常需要找到某种替代的评估程序。使用一种更容易计算的评估指标。例如,我们可以测试对行人和飞行人的图片进行分类,并测量其精度。请记住,这只是一种替代方法,找到与原始商业目标最接近的可评估的指标也很有用,应尽可能使用这个最接近的指标来进行模型评估与选择。评估的结果可能不是一个数字。算法的结果可能是顾客多了10%,但每位顾客花费减少了15%,但他应该给出选择一个模型而不选择另一个所造成的预期商业影响。本节我们将首先讨论二分类这一重要特别的指标,然后转向多分类问题,最后讨论回归问题5.3.22分类指标。二分类可能是实践中最常见的机器学习应用,也是概念最简单的应用。但是即使是评估这个简单任务,也仍然有一些注意事项在深入研究替代指标事项。我们先来看一下测量精度可能会如何误导我们。请记住,对于often类问题,我们通常会说正类positive class和反类negative class or正类是我们要寻找的类。
03:46
错误类型。通常来说,精度并不能很好的数量预测性能,因为我们所犯的错误数量并不包含我们感兴趣的所有信息。想象一个应用,利用自动化测试来筛查癌症的早期发现。如果测试结果为阴性,那么认为患者是健康的,而如果测试结果为阳性,患者则需要接受额外的筛查。这里,我们将阳性测试结果表示患有癌症称为正类,将阴性测试结果称为反类。我们不能假设模型永远是完美的,它也会犯错。对于任何应用而言,我们都需要问问自己,这些错误在现实世界中可能会有什么后果。一种可能的错误是,将健康的患者被诊断为阳性,导致需要进行额外的测试。这给患者带来了一些费用支出和不便,可能还有精神上的痛苦,错误的阳性预测叫做假真理false positive。另一种可能错误是将。
04:47
当患病的人被诊断为阴性。婴儿不会接受进一步的检查和治疗,未诊断出癌症可能导致严重的健康问题,甚至可能是致命的。这种类型的错误错误的阴性预测叫做假反例for negative。
05:06
在统计学中,假真理也叫做第一类错误排L甲反例也叫做第二类错误排不出L。我们将坚持使用假正例和假反例子的说法,因为他们的含义更加明确,也更好记在癌症诊断的例子中。显然,我们希望尽量避免假反例,而假真理可以被看作是小麻烦。虽然这是一个特别极端的例子,但假正例和假反利造成的结果很少相同。在商业应用中可以为这两种错误类型。可以理解为两种类型的错误分配的美元值,即用美元而不是用精度来度量某个预测结果的错误。对于选择使用哪种模型的商业决策而言,这种方法可能更有意义。二、不平衡数据集如果在两个类别中,一个类别的出现次数比另一个多很多,那么错误类型将发挥重要作用,这在实践中十分常见。一个很好的例子是点击。
06:14
Click through预测其中每个数据点表示一个印象press,即向用户展示一个物像。这个录像可能是广告相关的故事,或者是在社交媒体网站上关注的相关人员。目标是预测用户是否会点击看到的某个特定录像,表示他们感兴趣。用户对互联网上显示的大多数内容,尤其是广告都不会点击。你可能需要向用户展示100个广告或文章,他们才会找到足够有趣的内容来点击查看,这样就会得到一个数据集,其中每99个未点击的数据点采用一个已点击的数据点。换句话说,99%的样本属于未点击类别。这种一个类别比另一个类别出现次数多很多的数据集通常叫做不平衡数据集in balance的data set或者具有不平衡类别的数据data with balanced classes。在实际当中,不平衡数据才是常态,而数据中感兴趣的事件的出现次数相同或相似的情况非常的罕见。
07:21
现在,假设你在构建一个在点击预测任务中精度达到99%的分类器,这告诉了你什么?99%的经历听起来令人印象深刻。但是他并没有考虑类别的平衡。你不必构建机器学习模型,始终预测未点击。我也可以达到99%的精度。另一方面,即使是不平衡数据,精度达到99%的模型实际上也是相当不错的。但是精度无法帮助我们区分不变的未点击模型与潜在的优秀模型。
08:01
为了便于说明,我们将数据集中的数字九与其他九个类别加以区分,从而创建9 : 1的不平衡数据集。
09:19
我们可以使用do me class file来始终预测多数类。这里是C9,以查看精度提供的信息量有。多少?
11:51
我们得到了接近90%的精度,却没有学到任何的内容。这个结果可能看起来相当的好,但请思考一会儿。想象一下,有人告诉你,他们的模型精度达到了90%,你可能会认为他们做的很好,但根据具体问题,也可能是自己预测的一个类别。我们将这个结果与使用一个真实的分类器的结果进行一下对比。
13:33
从精度来看。点decision tree file仅底常数预测稍微好一点,这可能表示我们使用点decision tree class file的方法有误,也可能是因为精度实际上在这里不是一个很好的度量。为了便于对比,我们再评估两个分类器not regression与默认的do classpi,其中后者进行随机预测,但预测类别的比例与训练其中的比例是相同的。
16:54
显而易见,产生随机输出的虚拟分类器是所有分类器中最差的,也是精度最低的。
17:04
而逻辑回归logistic regression则给出了非常好的结果,但是即使是随机分类器也得到了超过80%的精度,这样很难判断哪些解锁是真正有帮助的。这里的问题在于,要想对这种不平衡的预测性能进行量化。精度并不是一种合适的度量,在本章接下来的内容中,我们将探索在选择模型方面。能够提供更好指导的其他指标,我们特别希望有一个指标可以告诉我们一个模型比最常见预测。有。由predict most frequent给出或者随机预测。Predict to me。要好多少?如果我们用一个指标来评估模型,那么这个指标应该能够淘汰这些无意义的预测。
18:06
混淆矩阵对于二分类问题的评估结果,一种最全面的表示方法是使用混淆矩阵confusing match confusing matchx,我们利用confusing matchx函数来检查上一节中逻辑回归logisticsion的预测结果。我们已经将测试机上的预测结果保存在predict中。
19:19
注意confusion函数。第一个参数是真实值,第二个参数就是预测值。不要弄反了。Confusion matrix的输出是一个两行两列的二维数组。其中行对应真实的类别,列对应预测的类别数组中的每个元素,给出属于该行对应类别,这里是九和非九的样本被分类到该列对应的类别中的数量。
20:29
混淆矩阵主对角线上的元素。对应正确的分类,而其他元素则告诉我们一个类别中有多少样本被错误的划分到其他类别中。对于一个二维数组或者矩阵A,其组对角线是aii。A00A1。
21:01
如果我们将九作为正类,那么就可以将混淆矩阵的元素与前面介绍过的假真力false positive和假胆force negative。两个术语联系起来。将反类中正确分类的样本称为真反例to negative这些术语通常缩写为F。假真力FA假反力TP真正力。P蒸散力。这样就得到了。这幅图所述的一个混淆矩阵。
22:00
下面我们用混淆矩阵来比较前面拟合过的模型,两个心理模型,角色数和logistic回归。
24:02
观察混淆矩阵,很明显可以看出predict most frequent。他有问题,因为它总是预测同一个类别。另一方面,Predict do的真正力数量很少。只有13个。特别是与假反利和假真力的数量相比。假正力的数量竟然比。真正的还要多。决策数的预测比虚拟预测更有意义,即使二者精度几乎相同。最后我们可以看到,Logistic回归在各方面都比可这个区域要好,它的真正力和真反利的数量更多,而假真力和假反利的数量更少。从这个对比中可以明确看出,只有决策数和logistic回归给出了合理的结果,并且logistic回归的效果全面好于决策数,但是检查整个混淆矩阵有点麻烦。
25:13
虽然我们通过观察矩阵的各个方面得到了很多深入的见解,但是这个过程是通过人工完成的,也非常的定性的。有几种方法可以总结混淆矩阵中包含的信息,我们将在后面讨论与精度的关系。看到书上218页,我们已经讲过一种总结混淆矩阵结果的方法,计算精度,其公式表达accuracy等于TP加TN除以TP加T加fe加N。换句话说,均度是预测正确的数量,TP和TN加起来除以所有样本的数量,混淆矩阵中所有元素的总和。简单理解就是混淆矩阵,矩阵的积除以矩阵中所有元素的和。
26:09
准确率、召回率与F分数总结混淆矩阵还有几种方法,其中最常见的就是准确率和召回率。准确率precision度量的是被预测为正立的样本中有多少是。真正的。Precision等于TP除以TP加FP。如果目标是限制甲真力的数量,那么可以使用准确率作为性能指标。举一个例子,想象一个模型,他预测一种新药在临床试验治疗中是否有效。众所周知,临床试验非常昂贵,制药公司只有在非常确定药物有效的情况下才会进行施压。因此,模型不会产生很多假帧率是很重要的。换句话说,模型的准确率很高,准确率也被称为阳性预测值positive predictive value p。
27:10
另外,另一方面,召回率report度量的是正类样本中有多少被预测为正类report。TB除以T。如果我们需要找出所有的正类样本及避免假反例是很重要的情况下,那么可以使用召回率作为性能指标。本章前面的癌症诊断例子就是一个很好的例子。找出所有患病的人很重要,预测结果中可能包含健康的人。召回率的其他名称有灵敏度、sensitivity、命中、history rate和真正利率。除positive risk t PR在优化召回率与优化准确率之间需要折中。如果你预测的所有样本都属于真类,那么可以轻松得到完美的召回率。没有假反利,也没有真反例。但是如果将所有样本都预测为正类,将会得到许多的假正例,因此准确率会很低,与之相反。
28:14
如果你的模型只将一个最确定的数据点预测为正类,其他点都预为反类,那么准确率将会很完美。假设这个数据点实际上就属于真类,但是召回率会非常的差。准确率和召回率只是从PPFPPN和FN导出的众多分量、众多分类度量中的两个。你可以在维基百科上找到所有度量的摘要。在机器学习社区中,准确率和召回率是最常用的二分类度量,但其他社区可能使用其他相关指标。虽然准确率和召回率是非常重要的度量,但是仅查看二者之一无法为你提供完整的图形。将两种度量进行汇总的一种方法是F分数fbo或F度的f measure。
29:10
是准确率、召回率的调和平均。F等于两倍的准确率乘召回率除以准确率加召回率。这一特定辩题也被称为F1分数F1SCORE。由于同时考虑了准确率和召回率。所以它对于不平衡的二分类数据集来说是一种比精度更好的度量。我们对之前计算过的九与其与数据集的预测结果计算F1分数证明我们假定九类是正类,标记为数,其他样本都标记为false,因此这类是少数类。
31:46
这里我们可以注意到两件事情。第一。我们从most frequent的预测中得到了一条错误的信息,因为预测的这类数量为零。
32:02
第二,我们可以看到虚拟预测与决策数预测之间有很大的区别。而仅观察精度时,二者的区别并不明显。利用F分数进行评估,我们再一次用一个数字总结了预测的性能。但是F分数似乎比精度更加符合我们对好模型的直觉。然而,F分数的一个缺点是比精度更加的难以去解释。如果我们想要对准确率、召回率和F分数F1分数作为一个更全面的总结,可以使用class class classification report这一个函数,它可以同时计算这三个值,并以美观的格式打印出来。
33:48
Classification report函数为每个类别,这里是true和false生成一行。并给出以该类该类别作为正类的正准确率、召回率和F分数。前面我们假设较少的九类是正类,如果将正类have not非九,我们可以从class的输出中看出利用most frequent模型得到的F分数。
34:15
V。0.94此外,对于诺森纳类别,照率是一,因为我们将所有样本都分类为诺森纳、诺森奈。F分数旁边的最后一列给出了。每个类别的支持support,他表示。他表示在这个类别中,真实样本的数量分类报告的最后一行。显示的是。对应指标的加权平均按每个类别的样本个数加权。
35:01
下面还有两个报告,一个是虚拟分类器的,一个是逻辑回归的。
36:03
在查看报告时,尽可能注意到虚拟模型与好模型之间的区别不再那么明显,选择哪个类作为证类对指标有很大影响,虽然在行钠类作为证类时,虚拟分类的F分数是。0.27。对比一下逻辑回归的0.89,而以罗斯奈作为正类时,二者的分数。分别是0.91。和0.99。两个结果看起来都很合理,不过同时查看所有数字可以给出非常准确的图像。我们可以清楚的看到logistic回归模型的优势。
我来说两句