将二元分类拆分为更小的子集

数据挖掘 机器学习 分类
2022-02-17 16:38:47

举个例子。如果您想将人类与狗分类。是否可以通过对不同种类的动物(鸟类、鱼类、爬行动物、哺乳动物……)或什至更小的子集(狗、猫、鲸鱼、狮子……)进行分类来解决这个问题

然后,当您尝试对新数据集进行分类时,任何不属于这些类别之一的东西都可以被视为人类。

如果这是可能的,将二元类问题分解为几个类(或者可能是标签)有什么好处吗?

我正在研究的好处是:分类器的准确性/精度,并行学习。

1个回答

如果您尝试获得最佳准确性等...对于给定的问题,您应该始终在完全根据您的问题标记的训练集上学习。如果您使用更细化的类标签,则不应期望获得更好的结果。然后分类器将尝试找出类中的差异并尝试将它们分开。由于在实践中,训练集中的变量不能完美地解释更细粒度的分类问题,因此您不应该期望为更细粒度的分类问题得到更好的答案。

如果您对模型的准确性不满意,请尝试以下操作:

  1. 查看解释变量。想想什么可能会影响分类问题。也许我们有一个聪明的方法来构建新的变量(从你现有的变量中),这会有所帮助。现在可以就此给出一般建议,因为您必须考虑分类器的属性
  2. 如果您的班级分布非常偏斜,您可能会考虑过采样/欠采样
  3. 您可能会运行更多不同的分类器,然后根据多数票进行分类。请注意,您很可能会牺牲模型的可解释性。

此外,您似乎有一些误解,当您编写“如果它不属于任何细粒度类时,您会将其分配给人类”。请注意,您总是尝试选择覆盖整个宇宙(所有可能的类)的类标签。这总是可以定义为其他类的补充。此外,您还必须为训练集中的每个班级提供实例。