不平衡类的分类报告支持值指示
Posted
技术标签:
【中文标题】不平衡类的分类报告支持值指示【英文标题】:indication of Support value of classification_report for imbalanced class 【发布时间】:2021-03-12 08:09:56 【问题描述】:我有一个不平衡的数据集,我正在尝试进行二进制分类。我最终使用了几种算法CatBoostClassifier
和lightgbm
给了我比较好的结果。我有一个关于classification_report
和confusion_matrix
的问题要问。
从我的classification_report
可以看出:
-True Negatives
: 1076,
-False Positives
: 0,
-False Negatives
: 1,
-True Positives
:6.
Sensitivity
: 0.86 和 Specificity
1.00 ,这意味着我的 false positive rate
是 0.0。
我认为它确实表现得非常好。
来自classification_report
是否告诉您我的模型可能过度拟合或确实表现良好?
我问这个是因为1
类的support
(数量较少)是7,而0
类的0
是1076。
来自link 它说:“支持是该类中真实响应的样本数。”但我真的不明白这里的意思。 p>
谁能向我解释或让我知道我的算法是否过拟合或表现良好?
标签比例:
0 5550
1 60
分类报告
precision recall f1-score support
0.0 1.00 1.00 1.00 1076
1.0 1.00 0.86 0.92 7
accuracy 1.00 1083
macro avg 1.00 0.93 0.96 1083
weighted avg 1.00 1.00 1.00 1083
混淆矩阵:
[[1076 0]
[ 1 6]]
【问题讨论】:
【参考方案1】:如果同时查看训练集和测试集的分类报告,您将能够更好地理解事物,仅查看训练集或火车单独设置。但是,如果我们假设您在此处显示的性能指标是针对测试集的,并且训练集中的性能也或多或少与您在测试集中观察到的相似,那么我会说该模型做得很好工作。 1
类的召回率是 86%
,因为它仅构成您的数据集的 1%
。
此外,支持是指属于您的数据集中特定类的示例总数,例如,在您的情况下,对类 0
的支持是 5550
,对于类 1
的支持是 60
【讨论】:
感谢您的评论和解释。是的,确实这是来自测试集的分类报告,我刚刚检查了训练集的分类报告。它比测试集更好。所以我会根据你的解释说它确实运作良好。再次感谢! :) 但是如何检查我的模型是否过拟合? 如果训练集的性能远高于您的测试集,那么您的模型可能是过拟合的..以上是关于不平衡类的分类报告支持值指示的主要内容,如果未能解决你的问题,请参考以下文章
当给定特定类的 0 个样本时,如何对不平衡的数据集进行分类?