Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import tensorflow as tf
- # true and predicted tensors
- y_p = tf.placeholder(dtype=tf.int64)
- y_t = tf.placeholder(dtype=tf.int64)
- # Count true positives, true negatives, false positives and false negatives.
- tp = tf.count_nonzero(y_p * y_t)
- tn = tf.count_nonzero((y_p - 1) * (y_t - 1))
- fp = tf.count_nonzero(y_p * (y_t - 1))
- fn = tf.count_nonzero((y_p - 1) * y_t)
- acc = tf.metrics.accuracy(y_p, y_t)
- # Calculate accuracy, precision, recall and F1 score.
- accuracy = (tp + tn) / (tp + fp + fn + tn)
- with tf.Session() as sess:
- sess.run(tf.global_variables_initializer())
- sess.run(tf.local_variables_initializer())
- for i in range(4):
- if i == 0:
- yop = [0,0,0,0,0,0,0,0,0,0]
- elif i == 1:
- yop = [0,0,0,0,0,0,0,0,1,1]
- elif i == 2:
- yop = [1,1,1,0,0,0,0,0,0,1]
- else:
- yop = [0,1,1,1,1,1,1,0,0,0]
- tf_a = sess.run(acc, feed_dict={y_p: [0,0,0,0,0,0,0,0,0,0], y_t: yop})
- my_a = sess.run(accuracy, feed_dict={y_p: [0,0,0,0,0,0,0,0,0,0], y_t: yop})
- print("TF accuracy: {0}".format(tf_a))
- print("My accuracy: {0}".format(my_a))
- TF accuracy: (0.0, 1.0)
- My accuracy: 1.0
- TF accuracy: (1.0, 0.9)
- My accuracy: 0.8
- TF accuracy: (0.9, 0.8)
- My accuracy: 0.6
- TF accuracy: (0.8, 0.7)
- My accuracy: 0.4
Add Comment
Please, Sign In to add comment