Tensorflow 精确率 / 召回率 / F1 分数和混淆矩阵

7 浏览
0 Comments

Tensorflow 精确率 / 召回率 / F1 分数和混淆矩阵

我想知道是否有办法将scikit-learn包中的不同得分函数(如下所示):

from sklearn.metrics import confusion_matrix
confusion_matrix(y_true, y_pred)

实施到TensorFlow模型中,以获得不同的得分。

with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as sess:
init = tf.initialize_all_variables()
sess.run(init)
for epoch in xrange(1):
        avg_cost = 0.
        total_batch = len(train_arrays) / batch_size
        for batch in range(total_batch):
                train_step.run(feed_dict = {x: train_arrays, y: train_labels})
                avg_cost += sess.run(cost, feed_dict={x: train_arrays, y: train_labels})/total_batch
        if epoch % display_step == 0:
                print "Epoch:", '%04d' % (epoch+1), "cost=", "{:.9f}".format(avg_cost)
print "Optimization Finished!"
correct_prediction = tf.equal(tf.argmax(pred, 1), tf.argmax(y, 1))
# Calculate accuracy
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
print "Accuracy:", batch, accuracy.eval({x: test_arrays, y: test_labels})

我需要再次运行会话来获得预测吗?

0