【发布时间】:2018-06-18 20:24:15
【问题描述】:
我正在尝试在模型的训练时间期间记录AUC。
根据documentation,tf.metric.auc需要label和predictions,两者的形状相同。
但在我的二进制分类中,label 是一个一维张量,只包含类。 prediction 是二维,包含每个数据点的每个类别的概率。
这种情况下如何计算AUC?
【问题讨论】:
-
你没有试过用
tf.argmax从概率中获取实际预测吗? -
据我了解,为了计算 AUC,您需要知道所有类的概率,而不仅仅是具有最大概率的类。正确的 ?在 Binary Classifier 中,你可以计算其他类的概率,但在 MultiClass 中不能。
-
你是对的,我的错。您可能想要获取“正”类的概率:
prob[:, 1] -
所以我没有只传递
labels,而是将其转换为tf.one_hot,从而将其维度更改为[batch * n_classes]。现在概率也是[batch * n_classes]。 AUC 给出了一些价值,但不确定它是否正确:/ -
这听起来不对。您是否尝试过转换二维概率张量?
标签: python tensorflow auc