tensorflow计算模型的accuracy,precision,sensitivity,specificity

我们在写论文的时候,会经常看到几个模型判断指标,那这几个指标是如何计算的呢,下面将进行讲解:
幸好TensorFlow有tf.metrics这个内置函数,让我们计算起来方便很多。

  1. 计算accuracy:tf.metrics.accuracy。 有个博文不错,里面例子不错:
    https://blog.csdn.net/lyb3b3b/article/details/83047148

  2. 计算precision和accuracy差不多

  3. 计算sensitivity其实就是计算recall,使用tf.metrics.recall

  4. 这里有坑的是specificity,计算这个要基于sensitivity(反过来也可以),使用的是tf.metrics.specificity_at_sensitivity,这个函数相比上面的,多了个参数sensitivity,参考这里:
    https://www.w3cschool.cn/tensorflow_python/tensorflow_python-h3v12zap.html
    这个参数sensitivity不能用tf.placeholder实现占位,要用大于0小于1的数占位

     y_tra_=tf.placeholder(tf.float32, [None,3])
     y_tra=tf.placeholder(tf.float32, [None,3])
     
     acc, acc_op=tf.metrics.accuracy(labels=y_tra_, predictions=y_tra)
     pre, pre_op=tf.metrics.precision(labels=y_tra_, predictions=y_tra)
     sen, sen_op=tf.metrics.recall(labels=y_tra_, predictions=y_tra)
     spe, spe_op=tf.metrics.specificity_at_sensitivity(labels=y_tra_, predictions=y_tra, sensitivity=0.5)
    

注意sensitivity

你可能感兴趣的:(机器学习,深度学习)