类别不平衡问题

在机器学习中,类别不平衡问题十分常见。例如,银行信用数据中,按时还款用户占比可能高达97%,而违约用户仅占3%。若忽视违约用户,模型准确率虽高,但可能导致银行巨大损失。因此,需要采取措施平衡数据。

SMOTE算法

许多研究论文提出了包括过采样和欠采样在内的技术来处理类别不平衡问题。SMOTE算法作为一种合成少数类过采样技术,由NV Chawla、KW Bowyer、LO Hall和WP Kegelmeyer在其论文中提出。

参数

  • sample:少数类样本的二维数组 (numpy)。
  • N:SMOTE的过采样倍数,为整数。
  • k:用于查找最近邻的邻居数量,为整数,且 k <= 少数类样本数量

属性

  • newIndex:新生成的少数类样本的索引。

代码实现

本代码库使用sklearn和numpy库实现了SMOTE算法。