当前位置: 首页 > news >正文

网站结构分析关键词林俊杰的寓意

网站结构分析,关键词林俊杰的寓意,灵台县门户网,开发网站需要注意文章目录 一、分类指标函数1.1 precision_score函数1.2 recall_score函数1.3 accuracy_score函数1.4 f1_score函数1.5 precision_recall_curve函数1.6 roc_curve函数1.7 roc_auc_score函数1.8 classification_report函数 二、二分类任务三、多分类任务3.1 Macro Average#x… 文章目录 一、分类指标函数1.1 precision_score函数1.2 recall_score函数1.3 accuracy_score函数1.4 f1_score函数1.5 precision_recall_curve函数1.6 roc_curve函数1.7 roc_auc_score函数1.8 classification_report函数 二、二分类任务三、多分类任务3.1 Macro Average宏平均3.2 Micro Average微平均3.3 宏平均 vs. 微平均 在前面的文章中我们已经介绍了分类指标PrecisionRecallF1-Score的定义和计算公式详解分类指标PrecisionRecallF1-Score 我们可以知道精度(precision)、查全率(recall)、F1的计算是针对于二分类器来定义的。他们的计算只与y_true和y_pred有关要求y_true和y_pred中只含有0和1两个类别。 我们在实际计算上述二分类任务的评价指标时可以直接调用sklearn中的函数库实现。 一、分类指标函数 1.1 precision_score函数 precision_score函数用于计算分类结果的查准率。 – 官方文档https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_score.html – 函数定义 sklearn.metrics.precision_score(y_true, y_pred, labelsNone, pos_label1, averagebinary, sample_weightNone) 1.2 recall_score函数 recall_score函数用于计算分类结果的查全率。 – 官方文档https://scikit-learn.org/stable/modules/generated/sklearn.metrics.recall_score.html#sklearn.metrics.recall_score – 函数定义 sklearn.metrics.recall_score(y_true, y_pred, labelsNone, pos_label1, averagebinary, sample_weightNone) 1.3 accuracy_score函数 accuracy_score函数用于计算分类结果的准确率。 sklearn.metrics.accuracy_score(y_true, y_pred, normalizeTrue, sample_weightNone)1.4 f1_score函数 f1_score函数用于计算分类结果的值。 sklearn.metrics.f1_score(y_true, y_pred, labelsNone, pos_label1, averagebinary, sample_weightNone)1.5 precision_recall_curve函数 precision_recall_curve函数用于计算分类结果的P-R曲线。 sklearn.metrics.precision_recall_curve(y_true, probas_pred, pos_labelNone, sample_weightNone)1.6 roc_curve函数 roc_curve函数用于计算分类结果的ROC曲线。其原型为 sklearn.metrics.roc_curve(y_true, y_score, pos_labelNone, sample_weightNone, drop_intermediateTrue)1.7 roc_auc_score函数 oc_auc_score函数用于计算分类结果的ROC曲线的面积AUC。 sklearn.metrics.roc_auc_score(y_true, y_score, averagemacro, sample_weightNone)1.8 classification_report函数 sklearn中的classification_report函数用于显示主要分类指标的文本报告在报告中显示每个类的精确度召回率F1值等信息。 sklearn.metrics.classification_report(y_true, y_pred, labelsNone, target_namesNone, sample_weightNone, digits2)二、二分类任务 对二分类模型来说可以直接调用 sklearn.metrics 中的 precision_score, recall_score 和 f1_score 来进行计算将函数中的 average 参数设置为binary (averagebinary) 即可。 应用示例 from sklearn.metrics import precision_score, recall_score, f1_score, classification_reporty_true [1, 1, 1, 1, 1, 0, 0, 0, 0, 1] y_pred [1, 1, 1, 1, 1, 1, 1, 0, 0, 0]precision precision_score(y_true, y_pred, averagebinary) print(precision:, precision)recall recall_score(y_true, y_pred, averagebinary) print(recall:, recall)f1_score f1_score(y_true, y_pred, averagebinary) print(f1_score:, f1_score)输出结果如下 precision: 0.714285714286 recall: 0.833333333333 f1_score: 0.769230769231我们还可以使用 classification_report 函数来查看每一类的分类情况 target_names [class 0, class 1] cla_report classification_report(y_true, y_pred, target_namestarget_names) print(cla_report:, cla_report)输出结果如下 precision recall f1-score supportclass 0 0.67 0.50 0.57 4class 1 0.71 0.83 0.77 6avg / total 0.70 0.70 0.69 10三、多分类任务 前面提到传统的精度(precision)、查全率(recall)、F1的计算公式只适用于二分类模型。 对多分类模型来说要用Macro Average宏平均或Micro Average微平均规则来进行F1或者P、R的计算。 3.1 Macro Average宏平均 宏平均Macro-averaging是先对每一个类统计指标值然后在对所有类求算术平均值。 Macro Average宏平均会首先针对每个类计算评估指标如查准率Precesion查全率 Recall , F1 Score。然后对他们取平均得到Macro Precesion, Macro Recall, Macro F1。具体计算方式如下 举例来说假设是三个类别的分类模型 y_true[1,2,3] y_pred[1,1,3]Macro Average F1的计算过程如下 1将第1个类别设置为True1非第1个类别的设置为False0计算P1, R1。 y_true[1,0,0] y_pred[1,1,0]P1 (预测为1且正确预测的样本数)/(所有预测为1的样本数) TP/(TPFP) 1/(11)0.5 R1 (预测为1且正确预测的样本数)/(所有真实情况为1的样本数) TP/(TPFN) 1/1 1.0 F1_1 2*(PrecisionRecall)/(PrecisionRecall)20.5*1.0/(0.51.0)0.66666672将第2个类别设置为True1非第2个类别的设置为False0计算P2, R2。 y_true[0,1,0] y_pred[0,0,0]P2 (预测为1且正确预测的样本数)/(所有预测为1的样本数) TP/(TPFP) 0.0 R2 (预测为1且正确预测的样本数)/(所有真实情况为1的样本数) TP/(TPFN) 0.0 F1_2 2*(Precision*Recall)/(PrecisionRecall)03将第3个类别设置为True1非第3个类别的设置为False0计算其P3, R3。 y_true[0,0,1] y_pred[0,0,1]P3 (预测为1且正确预测的样本数)/(所有预测为1的样本数) TP/(TPFP) 1/11.0 R3 (预测为1且正确预测的样本数)/(所有真实情况为1的样本数) TP/(TPFN) 1/1 1.0 F1_3 2*(PrecisionRecall)/(PrecisionRecall)21.0*1.0/(1.01.0)1.04对P1、P2、P3取平均为P对R1、R2、R3取平均为R对F1_1、F1_2、F1_3取平均F1。 P(P1P2P3)/3(0.50.01.0)/30.5 R(R1R2R3)/3(1.00.01.0)/30.6666666 F1 (0.66666670.01.0)/30.5556最后这个取平均后的得到的P值/R值就是Macro规则下的P值/R值。对这个3类别模型来说它的F1就是0.5556。 【基于sklearn 实现 Macro Average】 下面给出基于sklearn计算Macro Average宏平均的样例将函数中的 average 参数设置为macro (averagemacro) 即可。 from sklearn.metrics import precision_score, recall_score, f1_scorey_true [1, 2, 3] y_pred [1, 1, 3]precision precision_score(y_true, y_pred, averagemacro) print(precision:, precision)recall recall_score(y_true, y_pred, averagemacro) print(recall:, recall)f1_score f1_score(y_true, y_pred, averagemacro) print(f1_score:, f1_score)输出结果如下 precision: 0.5 recall: 0.666666666667 f1_score: 0.5555555555563.2 Micro Average微平均 Micro Average微平均会考虑到所有类别的贡献将所有类别的预测结果合并在一起然后计算整体的性能指标。 Micro-average (TP FP) / (TP TN FP FN) 分母就是输入分类器的预测样本个数分子就是预测正确的样本个数无论类别。 对于Micro F1而言Micro F1 Micro Recall Micro Precesion Accuracy。 【基于sklearn 实现 Micro Average】 下面给出基于sklearn计算Micro Average微平均的样例将函数中的 average 参数设置为micro (averagemicro) 即可。 from sklearn.metrics import precision_score, recall_score, f1_scorey_true [1, 2, 3] y_pred [1, 1, 3]precision precision_score(y_true, y_pred, averagemicro) print(precision:, precision)recall recall_score(y_true, y_pred, averagemicro) print(recall:, recall)f1_score f1_score(y_true, y_pred, averagemicro) print(f1_score:, f1_score)输出结果如下 precision: 0.666666666667 recall: 0.666666666667 f1_score: 0.6666666666673.3 宏平均 vs. 微平均 Macro平均对每个类别的性能指标分别计算平均值然后再对这些平均值求平均。 – 在Macro平均中对于每个类别分别计算查准率、查全率和F1分数并对这些指标进行简单平均。 – Macro平均给予每个类别相同的权重不考虑样本数量的差异因此能够平等对待每个类别。 – Macro平均更适用于每个类别的性能对整体性能均等重要的情况。 Micro平均将所有类别的预测结果合并在一起然后计算整体的性能指标。 – 在Micro平均中所有类别的真正例、假正例和假负例的数量总和用于计算查准率、查全率和F1分数。 – Micro平均给予每个样本相同的权重无论其属于哪个类别因此对于样本数量不均衡的问题Micro平均会偏向于样本数量多的类别。 – Micro平均更适用于在不同类别上有明显不均衡样本分布的情况且更关注整体性能而不是每个类别的个别性能。 总结来说:Macro平均是对每个类别的结果进行独立计算并对各个类别的结果进行平均适用于每个类别的性能对整体性能均等重要的情况。而Micro平均是将所有类别的结果合并成一个总体进行计算适用于样本数量不均衡或关注整体性能的情况。而选择使用哪种平均方法取决于具体的问题和需求。
http://www.zqtcl.cn/news/851514/

相关文章:

  • 做现金贷网站的公司软件开发设计文档
  • 数据做图网站表示商业网站的域名
  • 网站备案单位备案老域名
  • 黔西南州建设局网站网站建设流程的过程
  • 河南龙王建设集团网站沈阳专业建站
  • 百度网盘app下载安装手机版百度排名优化咨询电话
  • 网站微信公众号链接怎么做免费访问国外网站的应用
  • 东莞网站搜索排名wordpress 小工具居中
  • 网上商城网站源码网站建站中关键字搜索怎么弄
  • 房地产开发公司网站源代码 墨绿色风格河北省建设项目环保备案网站
  • 有没有做机械加工的网站企业网站建站企业
  • 网站自创重庆宣传片制作
  • 如何做美发店网站世界上网站做的好的例子
  • 不会代码可以做网站维护吗成版年蝴蝶视频app免费
  • html5手机论坛网站模板支付商城网站制作
  • 自己主机做多个网站网站备案和服务器备案
  • 长安手机网站建设江西做网站的公司有哪些
  • 泉州微信网站开发万能浏览器有哪些
  • 商丘做网站公司新站seo快速收录网站内容页快速建站工具
  • 质监站网址数字化展厅建设方案
  • 免费网上商城网站建设廊坊十大名牌模板厂
  • 网站建设格式龙泉建设工程有限公司网站
  • 四海网络网站建设咨询深圳网站优化网站
  • 报名网站开发多钱做酒网站
  • 2014年网站设计趋势怎样用代码建设一个网站
  • 手机网站使用微信支付瑞诺国际公司团队介绍
  • 如何做网站内容架构分析网站建站平台eazyshop
  • 网站开发 商标第几类建站模板大全
  • 找事做的网站杭州网站建设有限公司
  • 临沂网站建设搭建短视频如何引流与推广