Tensorflow 精确率 / 召回率 / F1 分数和混淆矩阵
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})
我需要再次运行会话来获得预测吗?