多类分类的评价方法

数据挖掘 机器学习 神经网络 深度学习 多类分类 评估
2021-10-13 00:14:38

我正在寻找可用于考虑不平衡数据集的多类分类任务的单数评估方法。例如,ROC-AUC由二元分类器定义的,是一个单一的数字,并考虑了不平衡的数据集。另一方面,准确度是单数,为多类分类器定义,没有考虑不平衡的数据集。最后,混淆矩阵是为多类定义的,考虑到这一点但不是单数。有满足这三个条件的评价方法吗?

3个回答

https://www.sciencedirect.com/science/article/pii/S004896971831163X?via%3Dihub中,我们使用了对每个类别获得的第 i 类灵敏度的乘积(即正确分类为第 i 类的数据的比率)班级。这将这些值汇总为一个索引,该索引的范围在 0 和 1 之间,并且在某种程度上与数据不平衡无关。这种方法在每个类别的误差之间产生了良好的平衡,因为任何明显低于 1 的值都会显着降低性能。为了放松这一点,您可以简单地使用(按递增顺序)在 1 个或多个类别中允许更大的错误:最小值、几何平均值或算术平均值。https://ieeexplore.ieee.org/document/6940273/https://ieeexplore.ieee.org/abstract/document/5428802/你可以找到这些替代品。祝你好运。拉斐尔。

加权对数损失怎么样?

可以说我们有班级C1,,C. 我们可以给每一堂课C一世一个重量w一世这与属于的数据集的百分比成反比C一世. 然后,一些具有实际类的数据集的损失是的=是的1,,是的n和预测是的^=是的^1,,是的^n可以定义为

损失(是的,是的^)=1nj=1n一世=1w一世一世(是的j==一世)日志(是的^j)

在哪里一世(是的j==一世)是一个指示函数,如果是的j==一世否则为 0。

一个缺点是,给定损失函数的某个值,损失函数的特定值有多好并不是很明显。但是,比较两个值容易(越低越好)。

你必须使用F1分数。一个简单的解决方案是使用混淆矩阵你可以找到F1每门课的分数的方法很简单。每个类的真实标签可以被视为真实预测,其余被错误分类为其他类的标签应添加以指定错误预测的数量。对于每个班级,您都可以找到F1分数。有关更多详细信息,请查看F1-score per class for multi-class classification你可以看看这个实现。