我尝试按照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。
答案 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