Tensorflow 如何理解张力板auc_精度_召回曲线? 版本:
Tensorflow 如何理解张力板auc_精度_召回曲线? 版本:,tensorflow,machine-learning,tensorboard,precision-recall,auc,Tensorflow,Machine Learning,Tensorboard,Precision Recall,Auc,TensorFlow:1.6.0 TensorBoard:1.6.0 我正在做和熟悉的事情: 使用预先制作的估计器训练具有大偏斜数据集(即不平衡数据集)的二元分类模型 因此,我必须使用精确召回曲线来选择最佳模型,而不是AUC曲线 我没有对tf.estimator.DNNClassifier(当然,我更改了这三个参数:hidden\u units,feature\u columns,model\u dir) 在模型精度达到阈值并停止优化后,我必须继续这样的训练:从所有特征中反复挑选一个特征并进行训
TensorFlow:1.6.0
TensorBoard:1.6.0
我正在做和熟悉的事情:
估计器
训练具有大偏斜数据集
(即不平衡数据集)的二元分类模型精确召回
曲线来选择最佳模型,而不是AUC
曲线tf.estimator.DNNClassifier
(当然,我更改了这三个参数:hidden\u units
,feature\u columns
,model\u dir
)步骤4
,每次我选择一个功能,我都会得到一个新的训练结果和一张关于TensorBoard的auc\u precision\u recall
曲线的新图片。
也就是说,当我选择了特征A
我得到了图A
,选择了特征B
我得到了图B
,选择了特征C
我得到了图C
图片如下:
,
轴:指示训练步骤x
轴:范围从0到1(这就是我想知道的:y是什么意思?)y
精确召回曲线(我把它粘贴在这里只是为了方便我们讨论我的问题)。
精确召回曲线的说明:
x
轴:调用,范围从0到1
y
轴:精度,范围从0到1
auc\u精度\u召回曲线中y
轴中的值的含义是什么
auc\u precision\u recall
曲线和标准precision recall
曲线之间的关系是什么y
轴auc\u precision\u recall
曲线中的值如此奇怪?
- 在
中,第一点是图A
,为什么(x,y)=(1,0.5009)
即使在y
第一步中也是
?还有为什么大多数其他值也保持在0.5(从0.5009
我们可以很容易地了解到这一点)图A
- 同样在
中,第一点是图B
,为什么该(x,y)=(7,0.4625)
(0.4625)值即使在图C所示的前几个训练步骤中也不等于接近0的值y
我得到了答案:这是tensorflow 1.6.0版中的一个错误,它是由计算
AUC\u PR
值的错误方法(梯形)引起的,该错误已在最新版本1.8.0中修复。因此,如果您正在训练一个很大程度上扭曲的数据集,请记住将tensorflow更新到最新版本1.8.0。以回答问题1和2。AUC指曲线下的面积。因此,您看到的是精确召回(PR)曲线下的区域。y轴提供该区域,该区域介于0和1之间,因为这些是PR曲线上可实现的最小和最大区域