不平衡数据集中的特征选择

数据挖掘 Python 分类 特征选择 阶级失衡 相关性
2021-09-22 02:45:35

我对分析有一些疑问。我有一个类别不平衡的数据集。我正在尝试从该数据中调查一些信息,例如,有多少 url 包含 http 或 https 协议。我的结果如下:

http in dataset with class 1: 10
http in dataset with class 0: 109
https in dataset with class 1: 180
https in dataset with class 0: 1560

我正在尝试基于某些功能构建分类器,并且应该考虑协议的存在。但是,基于上述结果,您认为我应该说什么?说大多数具有 0 类的网站都有 https 协议是否有意义,即使我有一个类不平衡的数据集?对于模型,我会考虑重采样技术。我应该在重新采样后进行此分析(因此得出此结论),还是通过其他测试检查特征重要性(例如,皮尔逊相关性,如果在这种情况下合适的话)?

任何建议将不胜感激。

1个回答

这表明该协议不是一个非常具有辨别力的特征:

  • 给定 http 的第 1 类概率为 10/(109+10)=0.084
  • 给定 https 的第 1 类概率为 180/(180+1560)=0.103

如果这些条件概率非常不同,则此功能将更有助于预测类别,但它们仅略有不同。请注意,该功能可能仍然有用,但它本身并没有太大的影响。如果您想知道差异是否显着(即不是由于偶然),您可以进行卡方检验

说大多数具有 0 类的网站都有 https 协议是否有意义,即使我有一个类不平衡的数据集?

这实际上是正确的,但是大多数具有 1 类的网站也有 https,所以它不是一个非常有用的信息(并且就其本身而言,这些信息可能会让一些读者感到困惑)。

对于模型,我会考虑重采样技术。我应该在重新采样后处理这个问题,还是用其他测试检查特征重要性(例如,Pearson 相关性,如果在这种情况下合适的话)?

特征选择可以在重采样之前或之后进行,没关系。这两件事是相互独立的,因为一个特征和类之间的相关程度与类的比例无关。

我不认为皮尔逊相关性对分类变量有好处。我认为条件熵在这里更合适(不是100%肯定,可能还有其他选择)。