【发布时间】:2018-10-05 13:06:29
【问题描述】:
版本:
TensorFlow: 1.6.0TensorBoard: 1.6.0
我在做什么和熟悉的:
- 使用预制的
Estimatortf.estimator.DNNClassifier 训练带有largely skewed dataset(即不平衡数据集)的二元分类模型。 - 所以,我必须使用
Precision-Recall曲线来选择最佳模型,而不是AUC曲线。 - 我没有对
tf.estimator.DNNClassifier进行任何更改(当然,我确实更改了这三个参数:hidden_units、feature_columns、model_dir)。 - 在模型的准确率达到阈值并停止优化后,我必须像这样继续训练:从所有特征中迭代地挑选一个特征并进行训练,这样我就可以尽可能地去除一些噪声特征。
- 我像
Step 4那样做,每次我选择一个特征时,我都会从 TensorBoard 获得一个新的训练结果和一张关于auc_precision_recall曲线的新图片。 也就是说,当我选择FEATURE_A我得到figure A,选择FEATURE_B我得到figure B,然后选择FEATURE_C我得到figure C。
图片如下:
figure A,figure B,figure C - 关于上述
auc_precision_recall曲线图的说明:-
xaxes:表示训练步骤。 -
y轴:范围从 0 到 1(这是我想知道的:y是什么意思?)。
-
- 以下是来自此site 的标准
Precision-Recall曲线。(我将其粘贴在这里只是为了方便我们讨论我的问题)。
standard Precision-Recall curve - 关于上述标准
Precision-Recall曲线的说明:-
xaxes:召回,范围从 0 到 1。 -
y轴:精度,范围从 0 到 1。
-
我的问题:
- TensorBoard
auc_precision_recall曲线中y轴中的值是什么意思? - TensorBoard
auc_precision_recall曲线和标准Precision-Recall曲线之间有什么关系? - 为什么 TensorBoard
auc_precision_recall曲线中y轴的值如此奇怪?- 在
figure A中,第一个点是(x, y) = (1, 0.5009),为什么y即使在1st Step中也是0.5009?还有为什么大多数其他值也保持在 0.5(从figure A我们可以很容易地阅读到这一点)? - 同样在
figure B中,第一个点是(x, y) = (7, 0.4625),为什么这个y(0.4625) 值不等于figure C显示的前几个训练步骤中接近0 的值?李>
- 在
【问题讨论】:
标签: tensorflow machine-learning tensorboard precision-recall auc