首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >学习average_precision_score()与precision_recall_curve()的auc评分

学习average_precision_score()与precision_recall_curve()的auc评分
EN

Data Science用户
提问于 2018-08-19 13:57:01
回答 1查看 851关注 0票数 4

我一直在寻找对此的解释,但还没有找到一个--在科学工具包中--学习,当我计算auc() of precision_recall_curve()时,我得到了一个与使用内置average_precision_score()函数不同的宏观度量。根据文档,这是合理的,因为auc()使用梯形近似,因此平均精度更精确。然而,当我计算微观度量时,数值是相同的。我在试着理解这一点。

下面是一个例子:

代码语言:javascript
复制
yhat_raw = np.array([[0.511, 0.62, 0.3],[0.11, 0.76, 0.945],[0.002, 0.671, 0.452],[0.9102, 0.783, 0.2]])
y = np.array([[0, 1, 1],[0, 0, 1],[0, 0, 0],[0, 1, 1]])
yhatmic = yhat_raw.ravel()
ymic = y.ravel()
prec["micro"], rec["micro"], _ = precision_recall_curve(ymic, yhatmic, 
pos_label=1)

auc(rec["micro"], prec["micro"])返回0.58305555555555544average_precision_score(ymic, yhatmic)返回0.62222222222222223

在实际部署模型时,这些度量将达到相同的目的。我认为这是有意义的,考虑到在更大的范围内(例如,沿着数千个数据点的维数,而不是本例中的len(rec['micro']) = 11数据点),梯形近似更接近真实值。

我的问题是,为什么在macro的情况下,度量标准会有所不同?公平地说,在现实世界的部署中,微观评估有足够的数据点来使梯形近似收敛到真实值,但是宏没有(通过大约3000个测试示例计算,标签空间为~2000标签)吗?

EN

回答 1

Data Science用户

发布于 2020-01-03 18:36:35

macro情况下,由于macro在科学知识中,学习忽视阶级失衡。不同,度量标准也不同。micro在科学工具包-学习看看全球利率。数据存在类不平衡,因此macro参数将返回与micro不同的值。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/37149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档