确定数据集是否平衡

数据挖掘 不平衡数据
2022-03-07 21:53:25

我正在学习训练集,并获得了一组标记的客户数据,这些数据将客户划分为两个类别之一:A 或 B。该数据集还包含每个客户的性别、年龄和职业属性。数据集中类的分布是这样的:

  • 92% 的客户是 A 级客户
  • 8% 的客户属于 B 类

根据我的理解,这是一个不平衡的数据集,因为类的分布不均等。但是,我对其他属性如何在确定此数据集是否平衡方面发挥作用感到困惑。例如,如果我的数据集具有相同的性别、职业和年龄值分布,那么数据集是否仍然被认为是不平衡的,因为我试图训练我的模型来预测的值(A 类或 B 类)是不平衡的?

或者,如果我的类分布相等,那么无论其他属性如何,我的数据集是否都被认为是平衡的?例如,如果我的数据集有 90% 的女性客户和 10% 的男性客户,但类别分布是 50% A 和 50% B,那么数据集是否会被认为是平衡的?

我的主要问题是,在确定我的数据集是否平衡时,我应该查看数据集中类的分布还是其他可能/可能不是该类的良好预测因子的属性的分布?

2个回答

我不确定您在什么环境下使用它。如果您提供了更多相关信息,这将有助于理解。

回答您的问题,数据集是不平衡的。如果您正在制作监督学习模型,则为每个标签提供相同数量的数据会有所帮助。检查数据集的频率分布。

您可以查看下面提到的统计数据来寻找数据中的相关性,基本上有助于选择特征/列来预测 A 类或 B 类。

  1. 相关矩阵- 提供每列与标签列相关程度的信息。
  2. 聚类算法可以为您提供数据如何自然分组的良好可视化表示。

在考虑不平衡数据集时,您应该查看因变量(输出特征)的频率分布,因为我们试图预测从属特征而不是独立特征。

在考虑不平衡数据集时,独立特征的分布并不重要(尽管在考虑模型选择、特征工程/选择等其他事情时它们很重要)。