如何使用tf.metrics .__与估计模型预测输出

时间:2017-11-10 22:00:37

标签: tensorflow model metrics

我尝试按照tensorflow API 1.4文档来实现学习过程中的所需。

我现在处于这个阶段,可以产生预测对象,例如:

classifier = tf.estimator.DNNClassifier(feature_columns=feature_cols,hidden_units=[10, 20, 10], n_classes=3, model_dir="/tmp/xlz_model")

predict = classifier.predict(input_fn=input_pd_fn_prt (test_f),predict_keys=["class_ids"])
label =tf.constant(test_l.values, tf.int64)

如何在tf.metrics.auc中使用预测和标签,例如:

out, opt = tf.metrics.auc(label, predict)

我尝试了很多不同的选择。没有明确的文档说明如何使用这些tensorflow API。

1 个答案:

答案 0 :(得分:3)

该函数返回2个操作:

private final RedisTemplate redisTemplate;

如果你运行auc, update_op = tf.metrics.auc(...) ,你将获得当前的auc值。这是您要报告的值,例如sess.run(auc)

可能需要通过对print sess.run([auc, cost], feed_dict={...})的多次调用来计算AUC指标。例如,当您计算AUC的数据集不适合内存时。这就是sess.run的用武之地。您需要每次调用它来累积计算update_op所需的值。

因此,在测试集评估期间,您可能会这样:

auc

如果要重置累计值(例如,在重新评估测试集之前),则应重新初始化局部变量。 for i in range(num_batches): sess.run([accuracy, cost, update_op], feed_dict={...}) print("Final (accumulated) AUC value):", sess.run(auc)) 包明智地将其累加器变量添加到局部变量集合中,默认情况下不包括可训练变量,例如权重。

tf.metrics

https://www.tensorflow.org/api_docs/python/tf/metrics/auc