问题标签 [precision-recall]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3779 浏览

machine-learning - scikit-learn 在多标签分类中计算 F1

我正在尝试在多标签分类中使用 scikit 计算宏 F1

但是它失败并显示错误消息

如何使用多标签分类计算宏 F1?

0 投票
1 回答
8950 浏览

machine-learning - scikit加权f1分数计算及使用

我对weightedsklearn.metrics.f1_score 的平均值有疑问

首先,如果有任何参考证明使用加权 F1 是合理的,我只是好奇在哪些情况下我应该使用加权 F1。

其次,我听说 weighted-F1 已弃用,是真的吗?

第三,实际加权 F1 的计算方式,例如

如何计算上述示例的加权 F1。我虽然应该是(0.8*2/3 + 0.4*1/3)/3,但我错了。

0 投票
1 回答
1650 浏览

python - 如何使用 sklearn.metrics 计算多标签分类任务的微观/宏观度量?

我有一个多标签分类器产生的结果,我想在 python 中计算微观和宏观精度、召回和 F1 分数sklearn.metrics,但不能完全弄清楚如何。

我有两个二进制稀疏矩阵,dataOUT它们dataGT分别代表同一数据集的分类结果和基本事实。两个矩阵的大小都是nLabels X nSamples。每个样本都可以用一个或多个标签进行标记,如果分类器用th 标签标记样本,则dataOUT[i,j]也是如此,否则。1ji0

对于任何给定的类,我可以通过从中提取第行并将它们馈送到i来轻松计算常规精度、召回率和 F 分数,例如:idataOUTdataGTsklearn.metrics.precision_recall_fscore_support

但是我如何计算整个数据集的微观和宏观度量,即如何获得单个微观(P,R,F)和单个宏观(P,R,F)三元组,(dataOUT,dataGT)而不是分别为每个标签?

谢谢!

0 投票
3 回答
9756 浏览

r - 从 R 中的混淆矩阵的结果计算精度、召回率和 FScore

我有以下混淆矩阵,现在我需要从中计算精度、召回率和 FScore,我该如何使用获得的值来做到这一点?混淆矩阵和统计

根据其他用户的建议,我使用了以下编辑过的代码

0 投票
3 回答
8034 浏览

python - 一次性计算精度、召回率和 F 分数 - python

准确度、精确度、召回率和 f 分数是机器学习系统中系统质量的衡量标准。它取决于真/假阳性/阴性的混淆矩阵。

给定一个二元分类任务,我尝试了以下方法来获得一个返回准确率、精度、召回率和 f 分数的函数:

但似乎我已经对数据集进行了 4 次冗余循环以获得真/假阳性/阴性。

try-excepts捕获的倍数ZeroDivisionError也有点多余。

那么在没有通过数据集的多个循环的情况下获取真/假阳性/阴性计数的pythonic方法是什么?

如何在ZeroDivisionError没有多个 try-excepts 的情况下以 Python 方式捕获?


我也可以执行以下操作来计算一个循环中的真/假阳性/阴性,但是有没有没有倍数的替代方法if

0 投票
1 回答
30021 浏览

recommendation-engine - Top-k 推荐中的召回率、召回率@k 和精度

根据123中的作者的说法,Recall是从存储库中的所有相关项目中选择的相关项目的百分比,而Precision是在查询选择的那些项目中相关项目的百分比。

因此,假设用户U获得了前k个推荐的项目列表,它们将类似于:

召回率= (Relevant_Items_Recommended in top- k ) / (Relevant_Items)

精度= (Relevant_Items_Recommended in top- k ) / ( k _Items_Recommended)

在那之前,一切都清楚了,但我不明白它们和Recall rate@k之间的区别。计算召回率@k的公式如何?

0 投票
1 回答
83 浏览

machine-learning - 不同组大小的精确率和召回率计算

我在任何地方都没有找到这个问题的答案,所以我希望这里的人可以帮助我以及其他有同样问题的人。

假设我有1000 个正样本1500 个负样本

现在,假设有950 个 True Positives(正样本被正确归类为正样本)和100 个 False Positives(负样本被错误归类为正样本)。

我应该使用这些原始数字来计算Precision,还是应该考虑不同的组大小?

换句话说,我的精度应该是:

TruePositive / (TruePositive + FalsePositive) = 950 / (950 + 100) = 90.476%

或者应该是:

(TruePositive / 1000) / [(TruePositive / 1000) + (FalsePositive / 1500)] = 0.95 / (0.95 + 0.067) = 93.44%

在第一次计算中,我不考虑每组的样本数量,而在第二次计算中,我使用每个度量与其对应组的比例,以消除由于组的不同而导致的偏差尺寸

0 投票
1 回答
205 浏览

r - 在 R 中评估统计模型

我有一个非常大的数据集(ds)。它的一列是('High' / 'Low')Popularity类型。factor

我将数据分成 70% 和 30% 以创建训练集 ( ds_tr) 和测试集 ( ds_te)。

我使用逻辑回归创建了以下模型:

然后我创建了一个predict对象(将再做一次ds_te

我想找到对应于截止阈值 0.5 的精度值并找到对应于截止阈值 0.5 的召回值,所以我做了:

结果是一个包含许多值的表

如何找到对应于 0.5 截止阈值的特定精度和召回值?

0 投票
1 回答
17388 浏览

machine-learning - 如何解释几乎完美的准确率和 AUC-ROC 但 f1 分数、准确率和召回率为零

我正在训练 ML 逻辑分类器以使用 python scikit-learn 对两个类进行分类。它们处于极度不平衡的数据中(大约 14300:1)。我得到了几乎 100% 的准确率和 ROC-AUC,但准确率、召回率和 f1 分数为 0%。我知道准确性通常在非常不平衡的数据中没有用,但为什么 ROC-AUC 测量也接近完美?

上面使用逻辑回归,下面使用决策树,决策矩阵看起来几乎相同,但 AUC 有很大不同。

0 投票
1 回答
2498 浏览

scikit-learn - sklearnaverage_precision_score与precision_score之间的区别

在文档中,它将 average_precision_score 描述为精确召回曲线下的区域。我无法理解该区域的含义?

该指标与原始精度得分有何不同。