我需要知道为什么我们需要处理数据不平衡问题。我知道如何处理它以及通过上采样或下采样或使用Smote来解决该问题的不同方法。
例如,如果我患一种罕见疾病,即100分之一,而我决定为我的训练集选择一个平衡的数据集,即:50/50样本不会使机器认为50%的患者会疾病?即使比率是100的1。所以
- 为什么我们需要处理数据不平衡问题?
- 设定余额的建议比率是多少
我需要知道为什么我们需要处理数据不平衡问题。我知道如何处理它以及通过上采样或下采样或使用Smote来解决该问题的不同方法。
例如,如果我患一种罕见疾病,即100分之一,而我决定为我的训练集选择一个平衡的数据集,即:50/50样本不会使机器认为50%的患者会疾病?即使比率是100的1。所以
Answers:
当发现少数派类别的值远高于发现多数派类别的值时,您需要处理不平衡的数据集。
假设有1%的人口患有这种罕见病。假设您为说一个健康的人有病或说一个病的人健康分配了相同的费用。提供一个模型,说每个人都健康,准确率达到99%,并尽早回家。这种模型的问题在于,尽管它具有很高的准确性,但可能不是您想要的。在大多数情况下,您想要找到患有该疾病的人(对假阴性的承受力高)比您害怕让健康的人接受不必要的检查(对假阳性的体重过轻)要多得多。在现实世界中的健康问题中,重量之间的比例很容易为1到1,000。
分布不平衡使大多数算法无法找到合适的解决方案。
您是正确的,平衡分配不是最佳解决方案。实际上,在平衡分布上训练的算法并不适合要对其评估的自然分布。我最喜欢的方法是对其进行改编,如您在此处所见。有关讨论,请参见此处。
仅将比率设置为其他一些问题将不起作用,因为您将遇到相同的问题。
Smote的工作方式不同,我尝试时效果不佳,但可能适合您的问题。
如果/因为它使您的模型更好(针对看不见的数据),则需要处理类不平衡问题。“更好”是您必须定义自己的东西。可能是准确性,可能是成本,也可能是真实的阳性率等。
在谈论阶级失衡时,有一个细微的细微差别非常重要。也就是说,您的数据不平衡是因为:
在某些情况下,一类比另一类发生更多。没关系。在这种情况下,您必须查看某些错误是否比其他错误造成的损失更大。这是检测患者致命疾病,弄清楚某人是否是恐怖分子等的典型示例。这可以追溯到简短的答案。如果某些错误比其他错误造成的损失更大,您将希望通过给它们带来更高的成本来“惩罚”它们。因此,更好的模型将具有较低的成本。如果所有错误都很严重,那么没有理由使用成本敏感的模型。
还需要注意的是,使用成本敏感型模型并不特定于不平衡的数据集。如果您的数据也完全平衡,则可以使用此类模型。
有时您的数据“不平衡”,因为它不能代表数据的真实分布。在这种情况下,您必须要小心,因为一个类的示例“太多”,而另一类的“太少”,因此,您需要确保模型不会对一个模型过度/不足。这些课程中。
这与使用成本不同,因为可能不会出现一个错误比另一个错误更严重的情况。将会发生的事情是,您将有偏见,并且如果看不见的数据与您所训练的数据的分布不相同,则对您的模型无益。
假设我给您提供了训练数据,您的目标是猜测红色或蓝色。您将蓝色误认为红色还是将红色误认为是蓝色并没有多大区别。您的训练数据中有90%的红色实例在现实生活中仅在10%的时间发生。您需要处理该问题以使您的模型更好。