Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

采取何种评估方法最能评估一个模型的好坏? #10

Open
JiaWenqi opened this issue Mar 20, 2019 · 5 comments
Open

采取何种评估方法最能评估一个模型的好坏? #10

JiaWenqi opened this issue Mar 20, 2019 · 5 comments

Comments

@JiaWenqi
Copy link

JiaWenqi commented Mar 20, 2019

关于multi-label text classification的问题,用何种方式来评估模型的好坏最好呢?我看你用的是precision_score, recall_score, f1_score, roc_auc_score, average_precision_score。那么其他的评估方法可以吗?比如说hamming_loss,zero_one_loss,jaccard_similarity_score还是accuracy_score

@RandolphVI
Copy link
Owner

@JiaWenqi

其他的评估方法当然是可以,只是主流的 Multi-Label Classification 任务的评估方法就是我使用的那几项。根据你任务的定义,需要参考一下其他人论文中与你类似任务中的评价指标的选取(特别是你是想写论文的话),可以更改成你提到的那些方法。

@JiaWenqi
Copy link
Author

^_^,不写paper,要用到生产中,比如新用一个模型,想通过一些切实的评估指标来评估这个模型是否比之前的要好?

@RandolphVI
Copy link
Owner

@JiaWenqi

不同评估方法侧重评价模型的性能不一样。
一般而言,如果是 Multi-Label Classification 任务,主流用到的就是:

  1. threshold 相关,包括 Precision、Recall 以及 F1 三个主流指标
  2. threshold 非相关,包括 AUC 与 PRC
  3. Top-K 相关,就是 ranking 的评价方法,包括 Precision@K、Recall@K 以及 F1@K

视实际生产业务需求定吧。

@JiaWenqi
Copy link
Author

👍
总结的真心好,不过我不清楚我理解的是否正确,请@RandolphVI帮忙看:
1)threshold 相关 是不是就是最后某些类别的概率如果大于某个阈值的话,那么这些类别就是预测出的标签结果?
2)那threshold 非相关呢,这种的预测结果是怎么得到的?
3)Top-K的话,是不是就是最后结果按照每个类别的概率从大到小排序,取Top-K的结果?

@RandolphVI
Copy link
Owner

@JiaWenqi
第一第三点理解正确。

第二点非 threshold 相关,是这样的。因为如果采用 threshold 阈值相关的评价指标的话,其最终指标结果是受人工阈值选取的影响,例如选取 threshold 为 0.4 与 0.5,其指标的结果就会不同。因此为了避免这种人工阈值选取的影响,像 AUC 和 PRC 这种评价指标就可以用来表示模型整体在 Precision 和 Recall 的表现。拿 PRC 举例,就是通过绘制 Precision-Recall 的曲线来计算曲线下的面积。网上有挺多 AUC 和 PRC 相关的资料与介绍,可以去了解一下。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants