最近,我们开发了一个名为PyCM的python库,专门用于分析多类混淆矩阵。在此模块的version 1.9中添加了参数推荐器系统,以便考虑输入数据集的特征及其分类问题来推荐大多数相关参数。 这个新选项非常具有挑战性,并引发了许多问题。首先,我尝试解释这些假设并描述此模块在本部分中的工作方式。之后,将需要提出一些问题来评估此推荐系统的性能。
考虑的特征:
建议参数的特征如下:
应该注意的是,如果问题是不平衡数据集上的二进制或多类分类,则建议参数时考虑只是不平衡。因此,被检查状态可以分为三大类:
不平衡的定义:
很容易认识到分类问题是二进制还是多类的事实。但是,对于数据集而言,平衡与不平衡之间的界限尚不清楚。在用于检查输入数据集是否平衡的PyCM模块中,引入了定义。根据此定义,如果人口最多的阶层与人口最匮乏的阶层的比率大于3,则认为数据集不平衡。
推荐参数:
已根据每个参数的相应论文以及该论文要求的功能收集了推荐列表。有关更多信息,请阅读document of PyCM或访问project page。
二进制-推荐的平衡参数:ACC, TPR, PPV, AUC, AUCI, TNR, F1
多类–推荐的平衡参数:ERR, TPR Micro, TPR Macro, PPV Micro, PPV Macro, ACC, Overall ACC, MCC, Overall MCC, BCD, Hamming Loss, Zero-one Loss
推荐的参数不平衡:Kappa, SOA1(Landis & Koch), SOA2(Fleiss), SOA3(Altman), SOA4(Cicchetti), CEN, MCEN, MCC, J, Overall J, Overall MCC, Overall CEN, Overall MCEN, AUC, AUCI, G, DP, DPI, GI
问题: 1.关于失衡的建议定义是否正确?对于此特征是否还有更全面的定义? 2.对于不平衡的数据集,针对二元分类和多分类问题建议相同的参数是否正确? 3.推荐参数列表是否正确和完整?还有其他推荐参数吗? 4.是否还有其他特性(如二进制/多类和平衡/不平衡)会影响评估分类方法的结果?
Github :https://github.com/sepandhaghighi/pycm
纸张:https://www.theoj.org/joss-papers/joss.00729/10.21105.joss.00729.pdf