Python机器学习笔记:常用评估模型指标的用法战争热诚

在机器学习中,性能指标(Metrics)是衡量一个模型好坏的关键,通过衡量模型输出y_predict和y_true之间的某种“距离”得出的。

对学习器的泛化性能进行评估,不仅需要有效可行的试验估计方法,还需要有衡量模型泛化能力的评估价标准,这就是性能度量(performancemeasure)。性能度量反映了任务需求,在对比不同模型的能力时,使用不同的性能度量往往会导致不的评判结果;这意味着模型的“好坏”是相对的,什么样的模型是好的,不仅取决于算法和数据,还决定于任务需求。

性能指标往往使我们做模型时的最终目标,如准确率,召回率,敏感度等等,但是性能指标常常因为不可微分,无法作为优化的loss函数,因此采用如cross-entropy,rmse等“距离”可微函数作为优化目标,以期待在loss函数降低的时候,能够提高性能指标。而最终目标的性能指标则作为模型训练过程中,作为验证集做决定(earlystoping或modelselection)的主要依据,与训练结束后评估本次训练出的模型好坏的重要标准。

在使用机器学习算法的过程中,针对不同的场景需要不同的评价指标,常用的机器学习算法包括分类,回归,聚类等几大类型,在这里对常用的指标进行一个简单的总结,小编总结了前人的很多博客,知乎等,方便自己学习。当然,需要的同学们也可以看一下。

下图是不同机器学习算法的评价指标:

下面是机器学习算法评估指标的Sklearn方法:

分类是机器学习中的一类重要问题,很多重要的算法都在解决分类问题,例如决策树,支持向量机等,其中二分类问题是分类问题中的一个重要的课题。

常见的分类模型包括:逻辑回归、决策树、朴素贝叶斯、SVM、神经网络等,模型评估指标包括以下几种:

在二分类问题中,即将实例分成正类(positive)或负类(negative)。对一个二分问题来说,会出现四种情况。如果一个实例是正类并且也被预测成正类,即为真正类(Truepositive),如果实例是负类被预测成正类,称之为假正类(Falsepositive)。相应地,如果实例是负类被预测成负类,称之为真负类(Truenegative),正类被预测成负类则为假负类(falsenegative)。

TP(Truepositive):将正类预测为正类数;

TN(Truenegative):将负类预测为负类数;

FP(Falsepositive):将负类预测为正类数(误报TypeIerror);

FN(Falsenegative):将正类预测为负类数(漏报TypeIIerror);

在评估一个二分类模型的效果时,我们通常会用一个称为混淆矩阵(confusionmatrix)的四格表来表示,即如下表所示,1代表正类,0代表负类:

从列联表引入两个新名词。其一是真正类率(truepositiverate,TPR),计算公式为

TPR=TP/(TP+FN)

刻画的是分类器所识别出的正实例占所有正实例的比例。

另外一个是负正类率(falsepositiverate,FPR),计算公式为

FPR=FP/(FP+TN)

计算的是分类器错认为正类的负实例占所有负实例的比例。

还有一个真负类率(TrueNegativeRate,TNR),也称为specificity,计算公式为

TNR=TN/(FP+TN)=1-FPR

fromsklearn.metricsimportconfusion_matrix#y_pred是预测标签y_pred,y_true=[1,0,1,0],[0,0,1,0]confusion_matrix(y_true=y_true,y_pred=y_pred)

一般来说,Precision就是检索出来的条目(比如:文档、网页等)有多少是准确的,Recall就是所有准确的条目有多少被检索出来了,两者的定义分别如下:

Precision=提取出的正确信息条数/提取出的信息条数

Recall=提取出的正确信息条数/样本中的信息条数

精准度(又称查准率)和召回率(又称查全率)是一对矛盾的度量。一般来说,查准率高时,查全率往往偏低,而查全率高时,查准率往往偏低。所以通常只有在一些简单任务中,才可能使得查准率和查全率都很高。

fromsklearn.metricsimportclassification_report#y_pred是预测标签y_pred,y_true=[1,0,1,0],[0,0,1,0]print(classification_report(y_true=y_true,y_pred=y_pred))

Precision和Recall指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是在Precision和Recall的基础上提出了F1值的概念,来对Precision和Recall进行整体评价。F1的定义如下:

F1值=正确率*召回率*2/(正确率+召回率)

F-Measure是Precision和Recall加权调和平均:

当参数α=1时,就是最常见的F1。因此,F1综合了P和R的结果,当F1较高时则能说明试验方法比较有效。

准确率和召回率是互相影响的,理想情况下肯定是做到两者都高,但是一般情况下准确率高、召回率就低,召回率低、准确率高,当然如果两者都低,那是什么地方出问题了。当精确率和召回率都高时,F1的值也会高。在两者都要求高的情况下,可以用F1来衡量。

不妨举这样一个例子:

某池塘有1400条鲤鱼,300只虾,300只鳖。现在以捕鲤鱼为目的。撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。那么,这些指标分别如下:

正确率=700/(700+200+100)=70%

召回率=700/1400=50%

F1值=70%*50%*2/(70%+50%)=58.3%

不妨看看如果把池子里的所有的鲤鱼、虾和鳖都一网打尽,这些指标又有何变化:

正确率=1400/(1400+300+300)=70%

召回率=1400/1400=100%

F1值=70%*100%*2/(70%+100%)=82.35%

当然希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。比如极端情况下,我们只搜索出了一个结果,且是准确的,那么Precision就是100%,但是Recall就很低;而如果我们把所有结果都返回,那么比如Recall是100%,但是Precision就会很低。因此在不同的场合中需要自己判断希望Precision比较高或是Recall比较高。如果是做实验研究,可以绘制Precision-Recall曲线来帮助分析。

代码补充:

fromsklearn.metricsimportprecision_score,recall_score,f1_score#正确率(提取出的正确信息条数/提取出的信息条数)print('Precision:%.3f'%precision_score(y_true=y_test,y_pred=y_pred))#召回率(提出出的正确信息条数/样本中的信息条数)print('Recall:%.3f'%recall_score(y_true=y_test,y_pred=y_pred))#F1-score(正确率*召回率*2/(正确率+召回率))print('F1:%.3f'%f1_score(y_true=y_test,y_pred=y_pred))

AUC是一种模型分类指标,且仅仅是二分类模型的评价指标。AUC是AreaUnderCurve的简称,那么Curve就是ROC(ReceiverOperatingCharacteristic),翻译为"接受者操作特性曲线"。也就是说ROC是一条曲线,AUC是一个面积值。

ROC曲线应该尽量偏离参考线,越靠近左上越好

AUC:ROC曲线下面积,参考线面积为0.5,AUC应大于0.5,且偏离越多越好

Motivation1:在一个二分类模型中,对于所得到的连续结果,假设已确定一个阀值,比如说0.6,大于这个值的实例划归为正类,小于这个值则划到负类中。如果减小阀值,减到0.5,固然能识别出更多的正类,也就是提高了识别出的正例占所有正例的比类,即TPR,但同时也将更多的负实例当作了正实例,即提高了FPR。为了形象化这一变化,引入ROC,ROC曲线可以用于评价一个分类器。

Motivation2:在类不平衡的情况下,如正样本90个,负样本10个,直接把所有样本分类为正样本,得到识别率为90%。但这显然是没有意义的。单纯根据Precision和Recall来衡量算法的优劣已经不能表征这种病态问题。

绘制ROC曲线

importmatplotlib.pyplotaspltfromsklearn.metricsimportroc_curve,auc#y_test:实际的标签,dataset_pred:预测的概率值。fpr,tpr,thresholds=roc_curve(y_test,dataset_pred)roc_auc=auc(fpr,tpr)#画图,只需要plt.plot(fpr,tpr),变量roc_auc只是记录auc的值,通过auc()函数能计算出来plt.plot(fpr,tpr,lw=1,label='ROC(area=%0.2f)'%(roc_auc))plt.xlabel("FPR(FalsePositiveRate)")plt.ylabel("TPR(TruePositiveRate)")plt.title("ReceiverOperatingCharacteristic,ROC(AUC=%0.2f)"%(roc_auc))plt.show()

ROC(ReceiverOperatingCharacteristic)翻译为"接受者操作特性曲线"。曲线由两个变量1-specificity和Sensitivity绘制.1-specificity=FPR,即负正类率。Sensitivity即是真正类率,TPR(Truepositiverate),反映了正类覆盖程度。这个组合以1-specificity对sensitivity,即是以代价(costs)对收益(benefits)。显然收益越高,代价越低,模型的性能就越好。

此外,ROC曲线还可以用来计算“均值平均精度”(meanaverageprecision),这是当你通过改变阈值来选择最好的结果时所得到的平均精度(PPV)。

为了更好地理解ROC曲线,我们使用具体的实例来说明:

如在医学诊断中,判断有病的样本。那么尽量把有病的揪出来是主要任务,也就是第一个指标TPR,要越高越好。而把没病的样本误诊为有病的,也就是第二个指标FPR,要越低越好。

不难发现,这两个指标之间是相互制约的。如果某个医生对于有病的症状比较敏感,稍微的小症状都判断为有病,那么他的第一个指标应该会很高,但是第二个指标也就相应地变高。最极端的情况下,他把所有的样本都看做有病,那么第一个指标达到1,第二个指标也为1。

我们以FPR为横轴,TPR为纵轴,得到如下ROC空间。

我们可以看出,左上角的点(TPR=1,FPR=0),为完美分类,也就是这个医生医术高明,诊断全对。点A(TPR>FPR),医生A的判断大体是正确的。中线上的点B(TPR=FPR),也就是医生B全都是蒙的,蒙对一半,蒙错一半;下半平面的点C(TPR

假设下图是某医生的诊断统计图,为未得病人群(上图)和得病人群(下图)的模型输出概率分布图(横坐标表示模型输出概率,纵坐标表示概率对应的人群的数量),显然未得病人群的概率值普遍低于得病人群的输出概率值(即正常人诊断出疾病的概率小于得病人群诊断出疾病的概率)。

还是一开始的那幅图,假设如下就是某个医生的诊断统计图,直线代表阈值。我们遍历所有的阈值,能够在ROC平面上得到如下的ROC曲线。

曲线距离左上角越近,证明分类器效果越好。

如上,是三条ROC曲线,在0.23处取一条直线。那么,在同样的低FPR=0.23的情况下,红色分类器得到更高的PTR。也就表明,ROC越往上,分类器效果越好。我们用一个标量值AUC来量化它。

AUC值为ROC曲线所覆盖的区域面积,显然,AUC越大,分类器分类效果越好。

AUC=1,是完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。

0.5

AUC=0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。

AUC<0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。

以下为ROC曲线和AUC值得实例:

AUC的物理意义:假设分类器的输出是样本属于正类的socre(置信度),则AUC的物理意义为,任取一对(正、负)样本,正样本的score大于负样本的score的概率。

AUC的物理意义正样本的预测结果大于负样本的预测结果的概率。所以AUC反应的是分类器对样本的排序能力。

另外值得注意的是,AUC对样本类别是否均衡并不敏感,这也是不均衡样本通常用AUC评价分类器性能的一个原因。

下面从一个小例子解释AUC的含义:小明一家四口,小明5岁,姐姐10岁,爸爸35岁,妈妈33岁建立一个逻辑回归分类器,来预测小明家人为成年人概率,假设分类器已经对小明的家人做过预测,得到每个人为成人的概率。

第一种方法:AUC为ROC曲线下的面积,那我们直接计算面积可得。面积为一个个小的梯形面积之和。计算的精度与阈值的精度有关。

第三种方法:与第二种方法相似,直接计算正样本score大于负样本的概率。我们首先把所有样本按照score排序,依次用rank表示他们,如最大score的样本,rank=n(n=N+M),其次为n-1。那么对于正样本中rank最大的样本,rank_max,有M-1个其他正样本比他score小,那么就有(rank_max-1)-(M-1)个负样本比他score小。其次为(rank_second-1)-(M-2)。最后我们得到正样本大于负样本的概率为

fromsklearn.metricsimportroc_auc_score#y_test:实际的标签,dataset_pred:预测的概率值。roc_auc_score(y_test,dataset_pred)

在回归中,我们想根据连续数据来进行预测。例如,我们有包含不同人员的身高、年龄和性别的列表,并想预测他们的体重。或者,我们可能有一些房屋数据,并想预测某所住宅的价值。手头的问题在很大程度上决定着我们如何评估模型。

以下为一元变量和二元变量的线性回归示意图:

那么怎么来衡量回归模型的好坏呢?

我们首先想到的是采用残差(实际值与预测值的差值)的均值来衡量,即:

MAE虽然较好的衡量回归模型的好坏,但是绝对值的存在导致函数不光滑,在某些点上不能求导,可以考虑将绝对值改为残差的平方,这就是均方误差。

fromsklearn.metricsimportmean_squared_errory_true,y_pred=[3,-0.5,2,7],[2.5,0.0,2,8]mean_squared_error(y_true,y_pred)

MSE和方差的性质比较类似,与我们的目标变量的量纲不一致,为了保证量纲一致性,我们需要对MSE进行开方,得到RMSE。

RMSE虽然广为使用,但是其存在一些缺点,因为它是使用平均误差,而平均值对异常点(outliers)较敏感,如果回归器对某个点的回归值很不理性,那么它的误差则较大,从而会对RMSE的值有较大影响,即平均值是非鲁棒的。

开方之后的MSE称为RMSE,是标准差的表兄弟,如下式所示:

上面的几种衡量标准的取值大小与具体的应用场景有关系,很难定义统一的规则来衡量模型的好坏。比如说利用机器学习算法预测上海的房价RMSE在2000元,我们是可以接受的,但是当四五线城市的房价RMSE为2000元,我们还可以接受吗?下面介绍的决定系数就是一个无量纲化的指标。

lr.score(test_x,test_y)#越接近1越好,负的很差fromsklearn.metricsimportmean_squared_errormean_squared_error(test_y,lr.predict(test_x))#msenp.sqrt(mean_squared_error(test_y,lr.predict(test_x)))

变量之所以有价值,就是因为变量是变化的。什么意思呢?比如说一组因变量为[0,0,0,0,0],显然该因变量的结果是一个常数0,我们也没有必要建模对该因变量进行预测。假如一组的因变量为[1,3,7,10,12],该因变量是变化的,也就是有变异,因此需要通过建立回归模型进行预测。这里的变异可以理解为一组数据的方差不为0。

以上的评估指标是基于误差的均值对进行评估的,均值对异常点(outliers)较敏感,如果样本中有一些异常值出现,会对以上指标的值有较大影响,即均值是非鲁棒的。

fromsklearn.metricsimportr2_scorey_true,y_pred=[3,-0.5,2,7],[2.5,0.0,2,8]r2_score(y_true,y_pred)

我们通常用一下两种方法解决评估指标的鲁棒性问题:

如利用中位数来代替平均数。例如MAPE:

常见的聚类模型有KMeans、密度聚类、层次聚类等,主要从簇内的稠密成都和簇间的离散程度来评估聚类的效果,评估指标包括:

对于随机结果,RI并不能保证分数接近零。为了实现“在聚类结果随机产生的情况下,指标应该接近零”,调整兰德系数(Adjustedrandindex)被提出,它具有更高的区分度:

轮廓系数(Silhouettecoefficient)是聚类效果好坏的一种评价方式。最早由PeterJ.Rousseeuw在1986年提出。它结合内聚度和分离度两种因素。可以用来在相同原始数据的基础上用来评价不同的算法,或者算法不同运行方式对聚类结果所产生的影响。

对于一个样本集合,它的轮廓系数是所有样本轮廓系数的平均值。

假设我们已经通过一定算法啊,将待分类数据进行了聚类。常用的比如使用K-Means,将待分类数据分为了K个簇。对于簇中的每个向量。分别计算他们的轮廓系数。

对于其中的一个点i来说:

计算a(i)=average(i向量到所有它属于的簇中其他点的距离)

计算b(i)=min(i向量到它相邻最近的一簇内的所有点的平均距离)

那么i向量轮廓系数就为:

可见,轮廓系数的值是介于[-1,1],越趋近于1代表内聚度和分离度都相对较近。

将所有点的轮廓系数求平均,就是该聚类结果总的轮廓系数。

a(i):i向量到同一簇内其他点不相似程度的平均值

b(i):i向量到其他簇的平均不相似程度的最小值

上面说到的“距离”,指的是不相似度(区别于相似度)。“距离”值越大,代表不相似度程度越高

欧式距离就满足这个条件,而TanimotoMeasure则用作相似度度量

当簇内只有一点时,我们定义轮廓系数s(i)为0

我们这里使用Python实现轮廓系数,代码如下:

importpandasaspdfromsklearn.clusterimportKMeansfromsklearn.preprocessingimportStandardScalerfromsklearnimportmetricsfilename='data.txt'beer=pd.read_csv(filename,sep='')features=beer[['calories','sodium','alcohol','cost']]scaler=StandardScaler()features=scaler.fit_transform(features)km1=KMeans(n_clusters=3)clf1=km1.fit(features)beer['scaled_cluster']=clf1.labels_sort_res=beer.sort_values('scaled_cluster')cluster_centers1=clf1.cluster_centers_group_res=beer.groupby('scaled_cluster').mean()score_scaled=metrics.silhouette_score(features,beer.scaled_cluster)print(score_scaled)

上面介绍了非常多的指标,实际应用中需要根据具体问题选择合适的衡量指标。那么具体工作中如何快速使用它们呢?优秀的Python机器学习开源项目Scikit-learn实现了上述绝指标的大多数,使用起来非常方便。

THE END
1.信息技术课程现状分析12篇(全文)一是L-about IT方式,即把信息技术作为学习对象,目前在中小学开设"信息技术"课程,在课程教学中引入其他学科课程知识,如在信息技术课程中,结合信息检索课程内容,把检索语文、数学资料作为学生练习。 二是L-from IT方式,即把信息技术作为教师教学辅助工具;在这种方式中,最常用的模式是“情境——探究”模式。 https://www.99xueshu.com/w/ikeyw4ixxsrn.html
2.中华中医药学刊杂志中华中医药学会主办2019年第11期关键词:子宫腺肌病 中药治疗 疗效优势 评价指标 子宫腺肌病为妇科常见疑难疾病,中医药辨证论治能有效改善临床症状,控制局部病灶,提高妊娠率,提高患者生活质量,且安全可靠,复发率低。在新版的2015年子宫内膜异位症诊疗指南的子宫腺肌病部分,明确提出"某些中药对痛经有明显的缓解作用,可以试用"。但目前尚缺乏大量的高https://www.youfabiao.com/zhzyyxk/201911/
3.网络中心10评价指标 10.1高等职业学校 10.2中等职业学校 11附录 11.1规范性引用文件 11.2术语与缩略语 前言 当今社会,以互联网、大数据、云计算、物联网、人工智能、5G、VR/AR、区块链等信息技术为代表的科技革命对人类生活、工作、学习等各个方面产生了巨大的影响,在教育领域数字校园已成为办学的基本条件,特别是职业院校数字http://www.xtzy.com/wlzx/detail.jsp?public_id=153330
4.普通高等学校图书馆馆藏评价指南政策法规馆藏评价(Collection evaluation)也称藏书评估、藏书计量,就是对图书馆现有馆藏体系所具有的各个属性进行检测、评定,包括对馆藏数量、馆藏结构、馆藏本身的学术价值以及馆藏使用效果等各个指标进行综合分析与总体评价。通过馆藏评价,图书馆可以了解馆藏发展是否符合本馆的方针任务,是否可以满足读者对文献信息的需求,是否https://www.gxaqzy.cn/lib/zcfg/content_3418
5.信管第五章信息系统工程(听课版)UML中的事物也称为建模元素,包括结构事物、行为事物(,也称动作事物)、分组事物和注释事物(也称注解事物)。这些事物是UML模型中最基本的OO构造块 2)UML中的关系 UML用关系把事物结合在一起,主要有四种关系,分别为: 依赖:依赖是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。 https://developer.aliyun.com/article/1418103
6.大智慧操作说明书分时图中有信息地雷,K线图中又有什么呢还是地雷,不过,我们管他们叫'生命 历程'。在个股的K线图中,我们将个股基本面变化消息、重要公司公告(包含年报、中报)等以信息地雷的形式挂在K线上。这样,个股的历史“生命历程”就一目了然。 标志为“*”,出现在大盘或者个股的K线图顶端。 https://www.360doc.cn/article/32434199_563725641.html
7.CVPR2022Tutorial–DeepMetricLearning笔记–码途拾遗Loss很像,也是考虑整个batch中的所有数据,就是表达式不太一样,其中表示的是两个样本之间的余弦相似度(值越大越相似),此外,还有一点区别是,虽然其考虑了全部的样本,但是在训练中只使用了困难的负样本和正样本,并丢弃了所有其他的样本对,即Informative pair mining,因为它们对效果的提升几乎没有贡献,有时也降低了https://fangkaipeng.com/?p=2107
8.教育评价复习资料(精选3篇)6.评价的总目标都可分解为三个子系统,即条件指标系统、过程指标系统;和效果指标系统。而教育评价标准也相应由三部分构成,即素质标准、职责标准和效能标准。 7.教育评价标准中的评语式标准可归纳为分等评语式、期望评语式和积分评语式三种。 8.教育评价标准中的数量式标准可分为数量点式标准和数量区间式标准。 https://www.oh100.com/bg/a/201608/46999535668.html
9.四磨汤临床应用评估.docx1/1四磨汤临床应用评估第一部分四磨汤组成及功效 2第二部分四磨汤临床应用概况 4第三部分四磨汤治疗风湿痹证疗效观察 6第四部分四磨汤治疗腰腿疼效果评估 8第五部分四磨汤治疗颈椎病疗效评价 12第六部分四磨汤治疗强直性脊柱炎疗效分析 14第七部分四磨汤治疗骨关节炎临床疗效研究 16第八部分四磨汤治疗类风湿性关节炎疗效https://m.renrendoc.com/paper/322007855.html
10.计算机应用基础超星尔雅学习通网课答案5、【单选题】下面列出的四种存储器中,易失性存储器是( ) A、RAM B、ROM C、PROM D、CD-ROM 1.4信息的存储与编码 1、【单选题】在计算机内部,用来传送、存储、加工处理的数据实际上都是以( )形式进行的。 A、十进制 B、八进制 C、十六进制 http://xuzhou.ehqc.cn/html/92_81.html
11.机器学习模型评价(EvaluatingMachineLearningModels)下面主要根据二分类的评价指标进行讲解,不过同时它们也可扩展到多分类任务中。下面对分类中一些常用的评价指标进行介绍。 准确率(Accuracy) 准确率是指在分类中,使用测试集对模型进行分类,分类正确的记录个数占总记录个数的比例: 准确率看起来非常简单。然而,准确率评价指标没有对不同类别进行区分,即https://www.imooc.com/article/27344
12.武平县公安局第九期公共安全视频监控建设项目货物类采购项目附件资格备注2 因疫情影响享受缓缴或免缴社保、税款的企业,无法提供相关社保、税收缴纳证明材料的,提供有关情况说明视同社保、税收缴纳证明材料提交完整。 其他要求1 投标人须在资格证明材料中提供开票信息(格式详见招标文件第五章 其他事项),以方便中标后采购代理机构开具招标代理服务费发票。未提供的不视为无效投标,但对http://zfcg.longyan.gov.cn/upload/document/20211027/8f239fdf66564012af5845ec4fa0aa9b.html
13.医学文献检索试题篇1:医学文献检索试题 硕士研究生 医学文献检索课试题 一、根据自己的研究方向或从事的专业拟一个感兴趣的科研题目。 二、运用所学的检索知识,检索出该科题所需要的国内外有关文献信息,并与该项目内容进性对比分析,找出课题立项的依据。文章内容要求包括: https://www.360wenmi.com/f/fileli333m3c.html
14.关于检索方法的四种描述,其中描述错误的是()。下列关于数码相机的描述,正确的是()(1)数码相机内部一般有存储介质(2)数码相机的主要部件是CCD(3)数码相机拍摄的图像需要使用扫描仪输入到计算机(4)分辨率是衡量数码相机质量的重要指标之一 A. (1),(2) B. (2),(3),(4) C. (1),(2),(4) D. 全部 查看完整题目与答案 观测数据中不可避https://www.shuashuati.com/ti/c59bcb5ce69b4acf8cb37346ca5cd20c.html?fm=bdbds5d7070ec6e026c847b2072455eaa3020
15.推荐系统评测指标—准确率(Precision)召回率(Recall)F值(F一般来说,Precision就是检索出来的条目(比如:文档、网页等)有多少是准确的,Recall就是所有准确的条目有多少被检索出来了。 正确率、召回率和 F 值是在鱼龙混杂的环境中,选出目标的重要评价指标。不妨看看这些指标的定义先: 1. 正确率 = 提取出的正确信息条数 / 提取出的信息条数 https://cloud.tencent.com/developer/article/1113203