在机器学习领域,经常会遇到不平衡数据集的问题。不平衡数据集指的是其中一个类别的样本数量远远超过了另一个类别的样本数量,这会导致模型在训练过程中对数量较多的类别更为敏感,而对数量较少的类别表现较差。为了解决这个问题,我们可以采用一些处理不平衡数据集的思路和方法。
一、欠采样
欠采样是指减少数量较多类别的样本数量,使其与数量较少类别的样本数量相近。这样可以使模型在训练过程中更均衡地学习两个类别的特征。下面是一个简单的欠采样实现示例:
import numpy as np
from collections import Counter
def undersample(X, y, ratio=1