在评估您的算法时,尤其是当您的数据集不平衡时,您应该使用更多的指标,而不仅仅是准确性。准确性是您总共正确识别了多少个示例。正如您所看到的,如果您有一个不平衡的数据集,其中 0.5% 的实例是 1,那么如果您盲目地将所有输出设置为零,这将导致 99.5% 的准确度。尽管精度很高,但这显然是错误的。精度计算为
A c c u r a c y=∑T _磷+ ∑ Tñ∑T _磷+ ∑ Tñ+ ∑ F磷+ ∑ Fñ
其中TP是真阳性,TN是真阴性,FP是假阳性,FN是假阴性。
如果您想捕获不平衡数据集的性能,您应该查看您正在计算的 FP 和 FN 的百分比。您可以使用敏感性和特异性来做到这一点。计算灵敏度为
小号e n s i t i v i t y=∑T _磷∑T _磷+ ∑ Fñ
和特异性为
小号p e c i f我是我_ _=∑T _ñ∑T _ñ+ ∑ F磷.
一个理想的分类器应该具有准确度、特异性和灵敏度都为 1。这意味着每个样本都被正确分类。在你得到非常高的假阴性的情况下,你会发现你的敏感度会非常低。这是一个衡量标准,您可以用它来说明您的算法表现不佳。在您正在进行的任何统计研究中始终包含这些指标是一种很好的形式。仅靠准确性不足以证明您获得了良好的结果。
此外,还有接受者-操作者曲线(ROC)。这将告诉您任何真阳性率的假阳性率。然后,您可以计算该曲线下的面积 (AUC) 以获得可比较的性能指标。
在评价算法的性能时,所有这些都应该一起使用。ROC 和 AUC 可以省略,但忽略算法的敏感性和特异性是不明智的。