首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您如何看待图像分类模型对于每个类的TensorFlow的精确性?

您如何看待图像分类模型对于每个类的TensorFlow的精确性?
EN

Stack Overflow用户
提问于 2021-01-11 12:24:09
回答 2查看 413关注 0票数 1

我正在关注张量流网站上的图像分类教程:https://www.tensorflow.org/tutorials/images/classification

该模型将花朵分为五类:雏菊、蒲公英、玫瑰、向日葵和郁金香。

我能看到总体的准确性,但是有什么方法可以知道每一节课的精确程度吗?

例如,我的模型可以非常好地预测蒲公英、蒲公英、玫瑰和向日葵(接近100%的准确率),而郁金香的预测精度很差(接近0%),我认为我仍然可以看到80%的总体准确率(假设类别是平衡的)。我需要知道各个类的准确性,以便将这种性能与预测所有类的大约80%准确率的模型区分开来。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-22 12:06:49

当我问这个问题时,我没有足够的知识来回答。分类报告(如prashant0598所建议的)接近我所需要的,尽管它实际上没有精确性。下面是如何使用分类报告:

代码语言:javascript
复制
from sklearn.metrics import classification_report
import pandas as pd

y_pred = model.predict(val_ds)
y_pred = np.argmax(y_pred, axis=1)

y_true = np.concatenate([y for x, y in val_ds], axis=0)

cr = classification_report(y_true, y_pred, output_dict=True, target_names=class_names)
pd.DataFrame.from_dict(cr)

分类报告输出(除其他外)精确性和召回,这是有帮助的。

为了获得类的精确性,我们需要更多的手工操作。有一种方法:

代码语言:javascript
复制
from sklearn.metrics import accuracy_score

def class_accuracy(class_no):
  pred_filter = y_true==class_no
  acc = accuracy_score(y_true[pred_filter], y_pred[pred_filter])
  return acc

{class_name: class_accuracy(i) for i, class_name in enumerate(class_names)}

{“雏菊”:0.6589147286821705, 蒲公英: 0.75, ‘玫瑰’:0.6分, 向日葵: 0.868421052631579, 郁金香: 0.6942675159235668}

所以现在我知道了,向日葵是最容易预测的,而玫瑰是特别棘手的!

票数 0
EN

Stack Overflow用户

发布于 2021-01-11 16:41:09

您可以简单地通过在sklearn中使用分类报告来做到这一点。

参考文档

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65666834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档