在python中计算f-measure,Precision / Recall / F1 score

sklearn第三方库可以帮助我们快速完成任务,使用方法如下:

from sklearn.metrics import confusion_matrix
confusion_matrix(y_true, y_pred)
pred = multilayer_perceptron(x, weights, biases)
correct_prediction = tf.equal(tf.argmax(pred, 1), tf.argmax(y, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))

with tf.Session() as sess:
init = tf.initialize_all_variables()
sess.run(init)
for epoch in xrange(150):
        for i in xrange(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)

#metrics
y_p = tf.argmax(pred, 1)
val_accuracy, y_pred = sess.run([accuracy, y_p], feed_dict={x:test_arrays, y:test_label})

print("validation accuracy:", val_accuracy)
y_true = np.argmax(test_label,1)
print("Precision", sk.metrics.precision_score(y_true, y_pred))
print( "Recall", sk.metrics.recall_score(y_true, y_pred))
print( "f1_score", sk.metrics.f1_score(y_true, y_pred))
print( "confusion_matrix")
print( sk.metrics.confusion_matrix(y_true, y_pred))
fpr, tpr, tresholds = sk.metrics.roc_curve(y_true, y_pred)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,016评论 25 709
  • 渔夫和富翁的对话,不知道有多少人听过这个寓言故事? 富翁劝渔夫每天努力多铺一些鱼,存下来的钱就可以让他致富,然后就...
    Loricae阅读 3,047评论 0 0
  • 我是一个平凡的人 知乎上有个帖子问:“你是在什么时候发现自己是个平凡人的?” 有人说,当别人答一份试题要20分钟而...
    饭饭的读书笔记阅读 2,999评论 0 0
  • 晶童阅读 1,270评论 0 0
  • 为什么雾状眉这么火 因为看了就想做! ····· 网红都做了雾状眉 不得不承认,真的美! ····· 不信你看...
    李圣翔阅读 3,173评论 0 0

友情链接更多精彩内容