牢记分类指标:准确率、精确率、召回率、F1 score以及ROC

牢记分类指标:准确率、精确率、召回率、F1 score以及ROC,第1张

我们倾向于使用准确率,是因为熟悉它的定义,而不是因为它是评估模型的最佳工具!精度(查准率)和召回率(查全率)等指标对衡量机器学习的模型性能是非常基本的,特别是在不平衡分布数据集的案例中,在周志华教授的「西瓜书」中就特别详细地介绍了这些概念。

为分类任务选择正确的衡量指标

倘若某人声称创建了一个能够识别登上飞机的恐怖分子的模型,并且准确率(accuracy)高达 99%。你相信吗?好了,有这么一个模型:将从美国机场起飞的所有乘客简单地标注为非恐怖分子。已知美国全年平均有 8 亿人次的乘客,并且在 2000-2017 年间共发现了 19 名恐怖分子,这个模型达到了接近完美的准确率——999999999%。这听起来确实令人印象深刻,但是我怀疑美国国土安全局不会在近期购买这个模型。尽管这个模型拥有接近完美的准确率,但是在这个问题中准确率显然不是一个合适的度量指标。

恐怖分子检测是一个不平衡的分类问题:我们需要鉴别的类别有两个——恐怖分子和非恐怖分子,其中一个类别代表了极大多数的数据点。另一个不平衡分类问题出现在当疾病在公众中的发病率很低时的疾病监测。在这两种情况下,正例类别——疾病或恐怖分子,远远少于负例类别的数量。这种问题是数据科学中比较常见的例子,其中准确率并不是评估模型性能的很好的衡量标准。

直观地说,我们知道在恐怖分子检测的问题中宣布所有的数据点为负例(非恐怖分子)是毫无裨益的,相反,我们应该聚焦于正例(恐怖分子)的识别。直觉告诉我们,我们应该最大化的是统计学上称为召回率或查全率(recall)的衡量指标,或者是最大化模型找到数据集中所有相关案例的能力。召回率的准确定义是:真正例除以(真正例+假反例)的和,如下图所示。真正例(true positives)是被真确分类的正例数据点,假反例(false negatives)是被错误分类的负例数据点。在恐怖分子检测的例子中,TP 是被正确识别的恐怖分子,FN 是模型误分类为非恐怖分子的恐怖分子的数据点。召回率可以被理解为模型找到数据集中所有感兴趣的数据点的能力。

你可能注意到了这个等式中的一些细节:如果我们将所有的个体都预测为恐怖分子,那么模型的召回率就是 10!这样我们就得到了一个完美的模型吗?当然,不是!与数据科学中的绝大多数概念一样,在我们想要最大化的指标之间存在一个权衡。在召回率的例子中,当召回率增大的时候,精度就会减小。同样,直觉告诉我们,一个将 100% 的乘客标记为恐怖分子的模型可能是不可用的,因为我们必须禁止每一个乘客的飞行。统计学为我们提供了表达直觉的词汇:这个新的模型是低精度(precision)的,或者说较低的仅识别相关数据点的能力。

精度被定义为真正例除以(真正例+假正例)的和,如下图所示。假正例(FP)指的是模型将实际上是反例的样本误判为正例的情况,或者说,在我们的例子中指的是那些被模型判断为恐怖分子,而实际上不是恐怖分子的个体。召回率(查全率)表达的是模型找到数据集中相关实例的能力,而精度(查准率)表达模型找到的数据点中实际相关的比例。

现在我们可以看到,第一个模型给所有的个体标上了非恐怖分子的标签,这个模型是不能使用的。尽管它有着近乎完美的准确率,但是它的精度和召回率都是零,因为没有 TP(真正例)!假设我们轻微地修改一下模型,然后将一个个体正确地识别为恐怖分子。现在,精度是 1(没有假正例,FP),但是召回率很低,因为实际上会有很多假反例(FN)。假设我们走到了另一个极端,将所有的乘客标记为恐怖分子,召回率就会是 1——我们将抓住每一个恐怖分子,但是精度会特别低,我们最终会拘留很多无辜的人。换言之,随着精度的增加,召回率会降低,反之亦然。

结合精度和召回率

在某些情况中,我们也许需要以牺牲另一个指标为代价来最大化精度或者召回率。例如,在之前的例子中,在对患者进行随访检查的初步疾病筛查中,我们可能希望得到接近于 1 的召回率—我们想找到所有实际患病的患者。如果随访检查的代价不是很高,我们可以接受较低的精度。然而,如果我们想要找到精度和召回率的最佳组合,我们可以使用 F1 score 来对两者进行结合。

F1 score 是对精度和召回率的调和平均:

我们使用调和平均而不是简单的算术平均的原因是:调和平均可以惩罚极端情况。一个具有 10 的精度,而召回率为 0 的分类器,这两个指标的算术平均是 05,但是 F1 score 会是 0。F1 score 给了精度和召回率相同的权重,它是通用 Fβ指标的一个特殊情况,在 Fβ中,β 可以用来给召回率和精度更多或者更少的权重。(还有其他方式可以结合精度和召回率,例如二者的几何平均,但是 F1 score 是最常用的。) 如果我们想创建一个具有最佳的精度—召回率平衡的模型,那么就要尝试将 F1 score 最大化。

可视化精度和召回率

我已经向你抛出了几个新术语,接下来我将通过一个例子向你展示它们在实际中是如何使用的。在使用之前,我们要简单地谈一谈精度和召回率的概念。

首先要介绍一下混淆矩阵(confusion matrix),给定一个模型的预测标签时,它可以被用来快速计算精度和召回率。二分类的混淆矩阵总共包含四个不同的结果:真正例(TP)、假正例(FP)、真反例(TN),以及假反例(FN)。列表示真实值,行表示预测值。行和列的交叉点指的就是这四种结果。例如,如果我们将一个数据点预测为正例,但是它实际上是反例,那么这就是一个假正例。

用混淆矩阵计算精度和召回率需要找到矩阵中对应的值,并应用以下的等式进行计算。

其他的用来展示分类模型性能的可视化技术是受试者特征曲线(ROC 曲线,Receiver Operating Characteristic curve)。别被这个复杂的名词吓到!这个思想是相当简单的:ROC 曲线展示了当改变在模型中识别为正例的阈值时,召回率和精度的关系会如何变化。如果我们有一个用来识别疾病的模型,我们的模型可能会为每一种疾病输出介于 0 到 1 之间的一个分数,为了将某个病人标记为患有某种疾病(一个正例标签),我们为每种疾病在这个范围内设置一个阈值,通过改变这个阈值,我们可以尝试实现合适的精度和召回率之间的平衡。

ROC 曲线在 Y 轴上画出了真正例率(TPR),在 X 轴上画出了假正例率 (FPR)。TPR 是召回率,FPR 是反例被报告为正例的概率。这两者都可以通过混淆矩阵计算得到。

下图是一个典型的 ROC 曲线:

黑色对角线表示随机分类器,红色和蓝色曲线表示两种不同的分类模型。对于给定的模型,只能对应一条曲线。但是我们可以通过调整对正例进行分类的阈值来沿着曲线移动。通常,当降低阈值时,会沿着曲线向右和向上移动。

在阈值为 10 的情况下,我们将位于图的左下方,因为没有将任何数据点识别为正例,这导致没有真正例,也没有假正例(TPR = FPR = 0)。当降低阈值时,我们将更多的数据点识别为正例,导致更多的真正例,但也有更多的假正例 ( TPR 和 FPR 增加)。最终,在阈值 00 处,我们将所有数据点识别为正,并发现位于 ROC 曲线的右上角 ( TPR = FPR = 10 )。

最后,我们可以通过计算曲线下面积 ( AUC ) 来量化模型的 ROC 曲线,这是一个介于 0 和 1 之间的度量,数值越大,表示分类性能越好。在上图中,蓝色曲线的 AUC 将大于红色曲线的 AUC,这意味着蓝色模型在实现准确度和召回率的权衡方面更好。随机分类器 (黑线) 实现 05 的 AUC。

回顾

我们已经介绍了几个判断模型性能的属性,每个属性的定义都不是很复杂,但是结合在一起就有点复杂了。让我们通过一个例子做一个快速的回顾来巩固一下这些思想。

对于二分类问题:

真正例(TP):实际上是正例的数据点被标记为正例

假正例(FP):实际上是反例的数据点被标记为正例

真反例(TN):实际上是反例的数据点被标记为反例

假反例(FN):实际上是正例的数据点被标记为反例

召回率和精度衡量指标:

召回率(R):分类模型识别所有相关实例的能力

精度(P):分类模型仅仅返回相关实例的能力

F1 score:使用调和平均结合召回率和精度的指标

召回率和精度的可视化:

混淆矩阵:展示分类模型的真实和预测标签的对应结果。

受试者特征曲线(ROC 曲线):画出真正例率(TPR)和假正例率(FPR),并将此作为模型归类正例阈值的函数。

曲线下面积(AUC):基于 ROC 曲线下方的面积,计算分类模型总体性能的指标。

实例应用

我们的任务是为 100 名病人诊断一种在普通人群中患病率是 50% 的疾病。我们将假设一个黑盒模型,我们输入关于患者的信息,并得到 0 到 1 之间的分数。我们可以改变将患者标记为正例 (有疾病) 的阈值,以最大化分类器性能。我们将以 01 为增量从 00 到 10 评估阈值,在每个步骤中计算 ROC 曲线上的精度、召回率、F1 score 以及在 ROC 曲线上的位置。以下是每个阈值的分类结果:

模型在每个阈值下的结果

我们将以阈值为 05 为例计算对应的召回率、精度、真正例率、假正例率。首先我们得到混淆矩阵:

阈值为 05 时的混淆矩阵

我们可以利用混淆矩阵中的数值来计算召回率、精度和 F1 score:

然后计算真正例率和假正例率来确定阈值为 05 时,模型在 ROC 曲线上对应的点。

为了得到整个 ROC 曲线,我们在每个阈值下都进行这个过程。你可能会想,这是相当乏味的,所以,我们用 python 语言来代替手工计算。用来做这些计算的 Juoyter Notebook 放在了 github 上,每个人都可以看到。最终的 ROC 曲线如下所示,点上面的数字是阈值。

在这里我们可以看到,所有的概念都汇集到一起了!在阈值等于 10 的点,我们没有将任何病人归类为患病,因此模型的召回率和精度都是 0。随着阈值的减小,召回率增加了,因为我们发现更多的患者患有该疾病。然而,随着召回率的增加,精度会降低,因为除了增加真正例之外,还会增加假正例。在阈值为 00 的时候,我们的召回率是完美的——我们发现所有的患者都患有这种疾病——但是精度很低,因为有很多假正例。通过更改阈值并选择最大化 F1 score 的阈值,我们可以沿着给定模型的曲线移动。要改变整个曲线,我们需要建立一个不同的模型。

在每个阈值下最终模型的统计量如下表:

基于 F1 score,整体最佳的模型出现在阈值为 05 的地方。如果我们想要在更大程度上强调精度或者召回率,我们可以选择这些指标上最佳时对应的模型。

结论

我们倾向于使用准确率,因为每个人都知道它意味着什么,而不是因为它是完成任务的最佳工具!虽然更适合的度量指标 (如召回率和精度) 看起来可能很陌生,但我们已经直观地了解了为什么它们在某些问题 (如不平衡的分类任务) 中有着更好的表现。统计学为我们提供了计算这些指标的形式化定义和方程。数据科学是关于寻找解决问题的正确工具的学科,而且在开发分类模型时,我们常常需要超越准确率(accuracy)的单一指标。了解召回率、精度、F1 score 和 ROC 曲线使我们能够评估分类模型,并应使我们怀疑是否有人仅仅在吹捧模型的准确率,尤其是对于不平衡的问题。正如我们所看到的,准确率(accuracy)并不能对几个关键问题提供有用的评估,但现在我们知道如何使用更聪明的衡量指标!

原文参考:https://towardsdatasciencecom/beyond-accuracy-precision-and-recall-3da06bea9f6c

A员工的检查准确率可以通过以下公式计算:

准确率 = (正确预测数目 / 总预测数目)× 100%

其中,正确预测数目是指A员工正确检测出有问题的数据的数量加上正确检测出没有问题的数据的数量,即13+66=79;总预测数目是指A员工检测的数据总数,即85。

因此,A员工的准确率为(79/85)×100% ≈ 9294%。

情感计算的概念是在1997年由MIT媒体实验室Picard教授提出,她指出情感计算是与情感相关,来源于情感或能够对情感施加影响的计算。中国科学院自动化研究所的胡包刚等人也通过自己的研究,提出了对情感计算的定义:“情感计算的目的是通过赋予计算机识别、理解、表达和适应人的情感的能力来建立和谐人机环境,并使计算机具有更高的、全面的智能”。

1、数据预处理:将原始文本数据进行清洗、分词、去除停用词等预处理操作,得到文本的词袋表示。

2、特征提取:对于每个属性,从词袋中提取出与该属性相关的特征词,例如“价格”、“质量”等。

3、聚类或主题建模:使用聚类或主题建模方法对文本进行无监督学习,将文本按照不同的主题或簇进行分组,从而实现属性级分类,对于聚类方法,可以使用K-means、DBSCAN等算法。对于主题模型,可以使用LDA等算法。

4、情感分析:对于每个属性,计算该属性下文本的情感得分,可以使用情感词典或者情感分类器等方法进行情感分析。

提起准确率100的生男生女公式,大家都知道,有人问生男生女的计算公式据说准确度95%,另外,还有人想问怎样算生男生女100%准确,你知道这是怎么回事?其实准确率100的生男生女公式?,下面就一起来看看如何算生男生女最准确,希望能够帮助到大家!

准确率100的生男生女公式

很多的女性朋友们都是对于生男生女计算的方法都有一些了解,但是这些计算方法里面有真有假,有准确的,也有不准确的,下面为大家介绍一些比较准确的算法,那么生男生女怎么算比较准确呢?1、生男生女的计算器公式

生男生女计算公式1:怀孕农历月份双乘妊妇农历生日月份-怀孕时虚龄19=,得出结果数尾数为单,是男孩;尾数为双,是女孩。例子:怀孕时月份是农历6月,妊妇的农历生日月份是7月,虚岁春秋为29岁。生男生女计算法就是-=33。得出的结果数尾数为单,说明是男孩。生男生女计算公式2:68怀孕的农历月份–怀孕时母亲的虚龄=,得出结果数尾数为单,是男孩;尾数为双,是女孩。例子:怀孕时为农历8月,怀孕时母亲的虚龄是27岁,生男生女计算法就是-27=49。得出的结果数尾数为单,说明是男孩。生男生女计算公式3:怀孕时父亲的春秋母亲的春秋怀孕的月份数(皆言实岁)三者之和,除以3,结果取整数,单数是男孩,双数或零是女孩。例子:怀孕父亲的春秋是30,母亲是27,6月份怀孕。生男生女计算法就是()/3=21。得出的结果数尾数为单,说明是男孩。

2、怀孕的简介怀孕,指哺乳类雌性(包括人类)在体内有一个或多个胎儿或胚胎。人类的妊娠是哺乳动物中研究的最具体的。人类的妊娠从最後一次月经到分娩持续大约40礼拜(从排卵算起是38周)。分娩是出产的术语。很多社会以及法律将妊娠分为三期。怀孕初期有很高的流产机率。中期开始胎儿就发展到可以跟踪监测。後期胎儿就开始有母体外存活能力。因为这个能力,很多法律和习俗就视这时期的胎儿为个人。

3、怀孕的基础体温测定这是最简朴易行的方法。天天早晨醒後卧床丈量体温,这时的体温称为基础体温。一般排卵前体温在365度以下,排卵後孕激素升高,作用於体温中枢,使体温上升03—05度。如卵子未能受精,则约一周後孕激素下降,体温恢复正常;若已妊娠,则孕激素保持高水平不变,使体温亦保持高水平。基础体温中的高温曲线现象持续18天以上,一般可以肯定早期妊娠。以上文章是关於生男生女怎麼算比较正确的相关知识,以上的这些方法也是有著一定的正确性,女性在怀孕期间也可以运用以上的这些方法来进行测算,但这些方法也不是有著绝对的几率,但愿大家也不必较真儿。

准确率的生男生女公式:生男生女的计算公式据说准确度95%

生男生女计算公式1:100%生女儿的症状。

怀孕农历月份双乘+孕妇农历生日月份-怀孕时虚龄+19=,得出结果数尾数为单,是男孩;尾数为双,是女孩。

例子:怀孕时月份是农历6月,孕妇的农历生日月份是7月,虚岁年龄为29岁。生男生女计算法就是6X6+7-29+19=33

。得出的结果数尾数为单,说明是男孩。2021年必定生男孩的月份。

生男生女计算公式2:怀男孩很早就有感觉。

68+怀孕的农历月份–怀孕时母亲的虚龄=,得出结果数尾数为单,是男孩;尾数为双,是女孩。

准确率100的生男生女公式?

例子:怀孕时为农历8月,怀孕时母亲的虚龄是27岁,生男生女计算法就是68+8-27=49。得出的结果数尾数为单,说明是男孩。平躺下看男女,很准哟。

生男生女计算公式3:

怀孕时父亲的年龄+母亲的年龄+怀孕的月份数(皆言实岁)三者之和,除以3,结果取整数,单数是男孩,双数或零是女孩。2021年最容易生女儿的生肖。

例子:怀孕父亲的年龄是30,母亲是27,6月份怀孕。生男生女计算法就是(30+27+6)/3=21。得出的结果数尾数为单,说明是男孩。8周验血没有y生了男孩。

生男生女计算公式4:

父亲(生年+生月+生日)+母亲(生年+生月+生日)+怀孕月份-19=,得出结果数尾数为单,是男孩;尾数为双,是女孩。逢闰月的前半月随上月,下半月随下月。牙膏测男女最准。

例子:父亲是年12月15日所生的,母亲是年10月8日所生的,怀孕时农历月份是5月,那么生男生女计算法就是{(67+12+15)+(67+10+8)+5}-19={94+85+5}-19=-19=。得出的结果数尾数为单,说明是男孩。

生男生女计算公式5:2021年几月生闺女。

49+母亲怀孕时农历月份-减去母亲虚龄+19=,得出结果数尾数为单,是男孩;尾数为双,是女孩。医学认为怀男孩最准特征。

例子:母亲怀孕时虚龄为28岁,怀孕时农历月份是8月。生男生女计算法就是49+8-28+19=48,得出结果数尾数为双,说明生女孩。

以上就是关于生男生女计算方法详解,不是一定准确,只是心里安慰罢了,没有那么高的准确率。牛年女孩多还是男孩多。

以上就是与如何算生男生女最准确相关内容,是关于生男生女的计算公式据说准确度95%的分享。看完准确率100的生男生女公式后,希望这对大家有所帮助!

int posCount=0;

int negCount=0,方便后续查找;读完后用你的词袋向量顺序匹配情感词库中的词,比如你的词袋向量w=[1,伪代码如下?不大你可以先读进来用hash表存储,3,5],正向情感词库表中hash表数据有[1,3],负向情感词库hash表数据有[4],那么你可以这样写,2,4,2情感词库大吗;

for(int i=0

绪论

第一部分 情感计算预想

第一章 情感是身体的和可认知的

11 身体的和认知的

12 情感的身体方面:情感调整

13 情感的认知方面

14 情感诱导

15 小结

第二章 情感计算机

21 情感的发展

22 能表达情感的计算机

23 “有”情感的计算机

24 情感智能系统

25 关于模仿和复制的说明

26 小结

第三章 情感计算的应用

31 情感镜子

32 超越情感

33 文语转换

34 协助孤独症者

35 用户反馈

36 勇气要素

37 学习中的情感

38 “没有痛苦,就没有收获”

39 教室晴雨表

310 虚拟场景中的情感

311 音乐:听你所喜欢的

312 “快进到感兴趣部分”

313 知道你偏爱的智能体

314 学会什么时候去打断

315 闲聊

316 动画智能体的表情

317 观众表现

318 **/视频

319 情感玩具

320 小结

第四章 潜在的忧虑

41 接口方面的期待

42 幼稚的开端

43 人类的隐私

44 计算机的情感行为

45 小结

第二部分 构造情感计算

第五章 情感信号与系统

51 情感系统建模

52 情感和情绪的信号表示

53 生理信号

54 小结

第六章 情感的识别与表达

61 情感模式特征表示的关键问题

62 情感建模

63 小结

第七章 情感合成

第八章 情感可穿戴计算机

总结

参考文献

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/qinggan/7520281.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-09-06
下一篇2023-09-06

发表评论

登录后才能评论

评论列表(0条)

    保存