我们使用机器学习来区分以下五个疾病类别:
在过去,这些疾病仅用二元分类器:n和MI,N和CAD,N和CHF。
比较多类结果和三个单独的二进制分类结果的最佳方法是什么?
在所有情况下都可以访问混淆矩阵。
发布于 2019-05-29 17:52:16
(作为生活中的一切)它取决于。
通常,一个人(一个样本)可以在多个类中。您确实有一组已知的3种二进制分类器,它们被理解为三种模型,我们可以问这些问题:
MI吗?CAD吗?CHF吗?从上面看,不明显的是(忽略任何物理约束-我在心脏病中并不期待)一个人可能同时患有MI、CAD和CHF。或者一次就两个,或者只有一个,或者一个都没有。
如果您构建了一个分类器,该分类器将说明一个人拥有:MI或CAD或CHF或nothing (N);则不能将二进制分类器与新的分类器进行比较,因为这三个分类器从多类分类器产生不同的结果集。但并不是所有的东西都丢失了,让我们研究几个可以探索的选择:
如果你能说一个人在身体上不可能同时拥有两个:MI,CAD或CHF,那么我们可以比较分类器。请注意,这是一个假设,需要在ML过程之外进行证明:例如,疾病的定义可能排除了立即发生这些疾病的可能性。
在这种情况下,我们需要处理多个二进制分类器可能为同一个样本输出一个正类的情况。例如,如果MI和CAD分类器都输出样本的正类,那么我们需要选择MI或CAD作为真正的分类。大多数二进制分类器都能输出(或至少估计)类概率,人们可以利用这些概率来确定获胜的分类器(概率较高的输出)。
(注意:如果分类器是不同的模型类型,那么它们很可能需要概率校准,但这超出了这个答案。)
通过这个过程,您可以为数据集中的所有样本提供一组简单的4个类(N、MI、CAD、CHF)。可以使用此集与多类分类器的输出进行比较。
是有效的
在这种情况下,多类分类器不是对四个类进行分类,而是需要对八个类(N、MI、CAD、CHF、MI+CAD、MI+CHF、CAD+CHF、MI+CAD+CHF)进行分类。
为这些类中的每一个找到样本可能是很困难的(而且您可能根本找不到其中一些类的样本)。此外,您还需要重新构建模型以包含更多的类。
另一方面,这是使用多类和多标签分类器的最佳情况。几个模型可以同时预测多个类,而不是创建八个类(这很可能是不平衡的)。值得注意的是,决策树(和森林)和神经网络( Neural )擅长多类多标签分类。
如果您可以进行多标签分类,您将获得矩阵作为模型的输出,例如,对于大约6个样本,您可能会得到:
MI CAD CHF
0 0 0
1 0 0
1 1 0
0 0 1
0 1 1
0 0 0这可以与所有三个二进制分类器在相同的6个样本上的输出进行直接比较。
如果您选择这8个类(我强烈反对这一点--处理非常非平衡的类总是很痛苦),您可以直接将二进制分类器的输出与结果列表进行比较。(例如,类MI+CAD意味着第一和第二二进制分类器都输出了一个样本的正结果)。
为什么人们更喜欢多标签分类器而不是手工构建类?多标签分类器允许一个人同时预测多个类,这些类作为一个“新类”工作,但是他们将此作为决策算法的一部分来执行。根据经验,多标签分类器通过将这个“新类”添加为现有类的组合,不太可能影响其他类的可分性。如果算法(或超参数)基于类(低)支持权值(类中元素数相对于样本总数),手工构建的新类会影响其他类的可分性。
https://datascience.stackexchange.com/questions/52523
复制相似问题