问题标签 [auc]
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.
python - scikit 学习 auc 功能的一些错误?
这是代码和输出,我认为从输出中可以看出,当 fpr 为 0 时,tpr 为 0,这是正确的,因为预测结果将所有内容都标记为 0。
但是输出还说,当 fpr 为 1 时,tpr 也为 1。我认为这是不正确的,因为预测器从不预测某些东西是正的(label to be 1
),那么 fpr (= # of correct prediction of 1/total # of 1) 和 tpr (= # of 1 / total # of 0) 都为 1?
输出,
r - 使用包 ROCR 的精确召回曲线的 AUC
如何使用包 ROCR.. 获得精确召回曲线的 AUC(曲线下面积)?
python - 推荐引擎(LightFM)的auc_score和precision_at_k有什么区别
我目前正在尝试使用Python LightFM库构建推荐引擎。我的输入是一个形状为 (n_users, n_items) 的稀疏矩阵,其中矩阵中的每个单元格值表示用户与特定项目的交互次数。这与我见过的大多数示例完全不同,其中矩阵通常本质上是布尔值(1 或 0)或使用小规模(例如 1-5 的评级),我不确定这是否可以我面临的问题的一个促成因素。
我很困惑为什么 AUC 分数似乎表明引擎运行良好,但 K 的精度表明并非如此。
我对 AUC 分数的理解是,它似乎更适合用于二元分类任务。难道这就是为什么分数看起来如此之高的原因吗?它将每个正值识别为布尔真值,将每个 0 值识别为负值。在这种情况下,考虑到矩阵的稀疏性,正值的数量大大超过了 0 值的数量。
我对 k 精度的经验相对较少,只知道它代表了预测的平均精度。当我们将它与较高的 AUC 分数一起考虑时,这个低分数意味着什么?
编辑:
所以我仍然不完全确定这个话题,但我只是想我会分享一些我在这个话题上收集到的直觉,以防其他人遇到和我一样的问题。推荐引擎得分低的一个可能原因precision_at_k
是该指标考虑了推荐的排名。这意味着它可以提供 10 条用户会喜欢的推荐,但如果推荐不是按照偏好降序排列,那么模型的得分就会很差。
tensorflow - 如何用张量流计算 AUC?
我已经使用 Tensorflow 构建了一个二元分类器,现在我想使用 AUC 和准确性来评估分类器。
就准确性而言,我可以很容易地这样做:
在计算 AUC 时,我使用以下内容:
在训练循环中:
这给了我以下输出(和错误)错误:
我不明白我做错了什么以及为什么在使用准确性时只有代码运行良好,但在使用 AUC 时会引发此错误。您能否向我提示正确的方向以了解如何解决此问题?
我的目标是计算 AUC 和 ROC 以更好地评估二元分类器的性能。
r - 剂量反应曲线的参数和 AUC 和 IC50
我有这些剂量反应数据:
然后我使用drc
包的drm
函数来拟合这些数据的对数逻辑曲线:
然后我生成预测,以便能够绘制曲线:
我还使用该PharmacoGx
Bioconductor
包计算曲线及其上限和下限的 AUC 和 IC50:
用所有参数创建一个表格,以便我可以将所有内容绘制在一起:
最后把它全部绘制出来:
我的问题是:
我认为斜率应该是负数。怎么是5.2?
,
auc.mid
和累积为auc.high
:auc.low
auc.mid <- computeAUC(rev(pred.df$dose),rev(pred.df$viability)) auc.low <- computeAUC(rev(pred.df$dose),rev(pred.df$viability.low )) auc.high <- computeAUC(rev(pred.df$dose),rev(pred.df$viability.high))
分别给出 21.47818、37.52389 和 2.678228。
由于这些不在 [0,1] 范围内,我认为将它们除以最高相应生存能力下的区域将给出我正在寻找的东西,即相对 AUC,但这些值相对于数字而言似乎太低了显示。那么这些 AUC 是什么?
还有,怎么来的auc.mid
> auc.low
> auc.high
?我觉得应该是auc.high
>>auc.mid
auc.low
- IC50 值似乎也有点低。它们有意义吗?
额外的问题:如何避免图中slope
, low
, high
, ED50
,ic50.mid
和ic50.high
中的尾随零?
python - ctr prediction中计算auc的这段代码是什么意思?
请原谅我蹩脚的英语。这是代码。
我对段落“(click_sum+old_click_sum) * no_click / 2.0”的含义感到困惑。请帮帮我。</p>
r - 时间序列中多个样本的 R AUC
我想计算多个样本的时间序列的曲线下面积。数据类型 POSIXlt 的时间变量
我的数据是这样设置的
我想计算该系列每一天的 AUC。我有一个包含五月天数据的大型数据集。时间已经按顺序排列(这是五天的连续测量)
理想情况下,我希望输出为:
非常感谢任何帮助。
python - scikit 学习高测试集 AUC 但低训练集交叉验证 AUC
我不清楚我的测试集 AUC 为何会一直如此之高,但我的训练集交叉验证的 AUC 'roc_auc' 可能会低得多。由于过拟合,更常见的情况是相反的(高训练集 CV,低测试集)。
为什么我使用测试数据的 AUC 可能相当高(并且与我用作基准的研究论文一致),而我的 CV AUC 却低得多?
结果是 roc auc new 0.883120510099 测试集 AUC:0.883120510099
当我使用交叉验证时
结果 [ 0.64501863 0.64880271 0.62380773 0.63231963 0.59982753 0.63169843 0.62608849 0.62264435 0.63381149 0.60471224]
我认为在cross_val_score的上下文中不知道如何在分类器上使用predict_proba可能是一个问题,所以我使用了不同的方法(scikit docs中的类似方法):
结果
- roc #0, 0.633910529504
- 中华民国 #1, 0.63380692856
- 中华民国 #2, 0.624857088789
- 中华 #3, 0.636719967088
- 中华 #4, 0.623175499321
- 中华民国 #5, 0.613694032062
更多信息:数据集排序,所以我使用 shuffle 参数。如果没有 shuffle 参数,我会得到从接近 0 到非常高的结果(代表有序数据集)。
我整天都在研究 AUC 和 CV 的使用,但无法弄清楚这一点。
KNeighborsClassifier 也有类似的结果,我使用 metrics.roc_curve 和 metrics.auc 的 AUC 更高,但上述 CV 方法的 CV AUC 显着降低。
如果有帮助,测试集上的混淆矩阵如下:
真阴性:3550 假阴性:116 真阳性:335 假阳性:118
使用准确度作为记分器可以让我在 CV 上获得更好的分数。
任何想法都会有所帮助。
编辑:我也在测试集上运行了 CV(AUC 得分很高),我得到的 CV AUC 与上述大致相同(只是稍微差一点)。
我还使用了一个非常精简的脚本版本,在其中导入数据,将独立变量与因变量分开,使用 get_dummies 对分类变量进行编码,然后单独运行分类器并在 CV 中运行。结果相同。
工作假设 我认为这个问题与数据的有序、分层性质和使用交叉验证的问题有关(我刚刚发现 gridsearchCV 给出了无意义的结果)。随着我对此进行更多研究,我将在这里添加我的发现。