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
      轴:指示训练步骤
    • y
      轴:范围从0到1(这就是我想知道的:y是什么意思?)
  • 下面是一个标准的
    精确召回曲线(我把它粘贴在这里只是为了方便我们讨论我的问题)。
  • 关于上述标准
    精确召回曲线的说明:
    
    • x
      轴:调用,范围从0到1
    • y
      轴:精度,范围从0到1
  • 我的问题:
  • 张力板
    auc\u精度\u召回
    曲线中
    y
    轴中的值的含义是什么
  • TensorBoard
    auc\u precision\u recall
    曲线和标准
    precision recall
    曲线之间的关系是什么
  • 为什么张力板的
    y
    auc\u precision\u recall
    曲线中的值如此奇怪?
    • 图A
      中,第一点是
      (x,y)=(1,0.5009)
      ,为什么
      y
      即使在
      第一步中也是
      0.5009
      ?还有为什么大多数其他值也保持在0.5(从
      图A
      我们可以很容易地了解到这一点)
    • 同样在
      图B
      中,第一点是
      (x,y)=(7,0.4625)
      ,为什么该
      y
      (0.4625)值即使在图C所示的前几个训练步骤中也不等于接近0的值

  • 我得到了答案:这是tensorflow 1.6.0版中的一个错误,它是由计算
    AUC\u PR
    值的错误方法(梯形)引起的,该错误已在最新版本1.8.0中修复。因此,如果您正在训练一个很大程度上扭曲的数据集,请记住将tensorflow更新到最新版本1.8.0。

    以回答问题1和2。AUC指曲线下的面积。因此,您看到的是精确召回(PR)曲线下的区域。y轴提供该区域,该区域介于0和1之间,因为这些是PR曲线上可实现的最小和最大区域