我质疑著名的克利夫兰心脏病数据集在这里标记其对象的方式
这个数据集非常不平衡(许多对象属于"无疾病"类)。我注意到许多使用此数据集的论文用于组合所有其他类并将其简化为二元分类(疾病与无疾病)
有没有其他方法可以处理这种不平衡的类问题,而不是减少类的数量以从分类器中获得良好的结果?
一般来说,在处理非平衡数据集时,应该使用非监督学习方法。
您可以使用多元正态分布。 在您的情况下,如果您在一个类中有很多元素,而在另一个类中很少,则监督学习方法不合适。因此,多元正态分布(一种无监督机器学习方法)可能是解决方案。该算法从数据中学习并找到定义数据的值(即数据中最重要的部分,这里是"无绝望"情况)。一旦输出了这些值,就可以搜索不适合它们的元素,这些元素就是所谓的"异常元素"或"异常"。在您的情况下,这些是"疾病"个体。
第二种解决方案是平衡数据集,并使用初始监督学习算法。您可以使用以下技术执行此操作。这些陈述通常很好,但它们在很大程度上取决于你拥有的数据(注意,我无法访问你的输入数据!),所以你应该测试它们,看看哪一个最适合你的目的。
-
为具有少量元素的类收集更多元素。
-
复制具有较少元素的类中的元素,以便为两个类获得相同数量的数据,就像为具有更多元素的类获得相同数量。这个解决方案有一个问题,在两个类之间的输入数据量差异很大的情况下,你使用神经网络,因为具有重复元素的类不会有很大的变化,神经网络只有在训练大量非常可变的数据时才能提供良好的结果。
-
在具有更多元素的类中使用较少的数据,以便在两个类中具有与具有少量元素的类中相同数量的元素。使用神经网络时也可能存在问题,因为用较少的数据训练它可能不会产生好的结果。还要小心,以便输入元素多于要素,否则它将无法工作。