您的位置:首页 > 房产 > 建筑 > 大连网建科技_东莞网站优化哪家好_怎么才能在百度上打广告_大连seo网站推广

大连网建科技_东莞网站优化哪家好_怎么才能在百度上打广告_大连seo网站推广

2024/10/5 22:30:39 来源:https://blog.csdn.net/mikhailbran/article/details/142323919  浏览:    关键词:大连网建科技_东莞网站优化哪家好_怎么才能在百度上打广告_大连seo网站推广
大连网建科技_东莞网站优化哪家好_怎么才能在百度上打广告_大连seo网站推广

NLP-transformer学习:(7)evaluate 使用方法

在这里插入图片描述

打好基础,为了后面学习走得更远。
本章节是单独的 NLP-transformer学习 章节,主要实践了evaluate。同时,最近将学习代码传到:https://github.com/MexWayne/mexwayne_transformers-code,作者的代码版本有些细节我发现到目前不能完全行的通,为了尊重原作者,我这里保持了大部分的内容,并表明了来源,欢迎大家一起学习。


提示:以下是本篇文章正文内容,下面案例可供参考

1 evaluate是什么?

evaluate库就是一个非常简单的机器学习评估库函数,封装了很多我们平差给你评估模型的函数。
地址:https://huggingface.co/evaluate-metric
我们可以在这个链接下看到有很多指标,比如 bleu sari precision
在这里插入图片描述

2 evaluate基本用法?

首先需要安装:
pip install evaluate

2.1 evaluate 调用与输入参数

代码:

import evaluateif __name__ == "__main__":# see the evalution function that evaluate supportprint(evaluate.list_evaluation_modules())#print(evaluate.list_evaluation_modules(include_community=False, with_details=True))# load the accuracy class accuracy = evaluate.load("accuracy")# introduce the accuracy functionsprint(accuracy.description)

结果:
在这里插入图片描述
但是看到这 介绍内容太少,我么不清楚输入怎么做

import evaluateif __name__ == "__main__":# load the accuracy class accuracy = evaluate.load("accuracy")# introduce the accuracy functions#print(accuracy.description)# the inputs help guide print(accuracy.inputs_description)

结果:
在这里插入图片描述
这样就会有很多详细,比如
在这里插入图片描述
这里 ,需要是 list of int 的 预测值(predictions)和真值(references),因为总共有6个,reference 和 predictions对的上的就3个,所以accuracy 是 0.5。
在这里插入图片描述
如果权重不同的还可以增加权证欧冠你,这样 accurarcy
在这里插入图片描述

2.2 evaluate 几种计算方式

(1)全局计算

import evaluateif __name__ == "__main__":######################################################## inputs and call # global accuracyaccuracy = evaluate.load("accuracy")results = accuracy.compute(references=[0,1,2,0,1,2], predictions=[0,1,1,2,1,0])print(results)# iterate accurarcyaccuracy = evaluate.load("accuracy")# for refs, preds in zip([[0,1],[0,1]],[2,8],[4,1], [[1,0],[0,1],[3,8],[4,1]]):for refs, preds in zip([0,1,2,3,4],[0,1,2,3,3]):accuracy.add(references=refs, precitions=preds)print(accuracy.compute())

第一个打印结果:
在这里插入图片描述
(2)全局计算

import evaluateif __name__ == "__main__":######################################################## inputs and call # global accuracyaccuracy = evaluate.load("accuracy")results = accuracy.compute(references=[0,1,2,0,1,2], predictions=[0,1,1,2,1,0])print(results)

在这里插入图片描述

(2)迭代计算:

import evaluateif __name__ == "__main__":# iterate accurarcyaccuracy = evaluate.load("accuracy")for refs, preds in zip([0,1,2,3,4],[0,1,2,3,3]):accuracy.add(references=refs, predictions=preds)print("iterate way:")print(accuracy.compute())

结果
在这里插入图片描述
(3)batch 迭代计算

import evaluateif __name__ == "__main__":# batch iterate accurarcyaccuracy = evaluate.load("accuracy")for refs, preds in zip([[0,1,2,3,4], [0,1,2,3,3], [8,8,8,8,8]],  # refs batches[[0,1,2,3,4], [0,1,2,3,5], [8,8,8,8,8]]):  # preds batchesaccuracy.add_batch(references=refs, predictions=preds)print("batch iterate way:")print(accuracy.compute())

结果:
在这里插入图片描述

(4)多指标
这里 我们选择 accuracy,precsion, f1, recall
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

import evaluateif __name__ == "__main__":# multiple labelsclf_metrics = evaluate.combine(["accuracy", "f1", "recall", "precision", "XNLI", "SARI"])print(clf_metrics.compute(predictions=[0, 1, 1, 1, 1], references=[0, 1, 0, 1, 1]))

运行结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 评估可视化

有多个模型,然后都去做预测,我们需要可视化比较

import evaluateif __name__ == "__main__":##################################################### visualfrom evaluate.visualization import radar_plotdata = [{"accuracy": 0.99, "precision": 0.80, "f1": 0.95, "latency_in_seconds": 33.6 , "recall":0.5},{"accuracy": 0.98, "precision": 0.87, "f1": 0.91, "latency_in_seconds": 11.2 , "recall":0.5},{"accuracy": 0.98, "precision": 0.78, "f1": 0.88, "latency_in_seconds": 87.6 , "recall":0.6}, {"accuracy": 0.88, "precision": 0.78, "f1": 0.81, "latency_in_seconds": 101.6, "recall":0.7},{"accuracy": 0.78, "precision": 0.78, "f1": 0.81, "latency_in_seconds": 100.0, "recall":0.9}]model_names = ["Model 1", "Model 2", "Model 3", "Model 4", "Model 5"]plot = radar_plot(data=data, model_names=model_names)print(type(plot))plot.show()plot.savefig('radar.png')

结果
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com