我正在为极其不平衡的数据创建一个支持向量机,其中识别稀有类的实例是最重要的。由于数据是如此不平衡,因此在没有上采样的情况下训练和测试一个模型会产生一个极其准确的模型,该模型在其真实阳性率方面表现非常差。
为了确保模型能够正确区分正负类,我将数据分成训练集和测试集,并对训练数据中的稀有类进行上采样。这允许我使用测试数据来估计模型的性能,但它似乎让我无法利用 k 折交叉验证。我使用的方法是可接受的方法吗?是否有其他推荐的方法?
我正在为极其不平衡的数据创建一个支持向量机,其中识别稀有类的实例是最重要的。由于数据是如此不平衡,因此在没有上采样的情况下训练和测试一个模型会产生一个极其准确的模型,该模型在其真实阳性率方面表现非常差。
为了确保模型能够正确区分正负类,我将数据分成训练集和测试集,并对训练数据中的稀有类进行上采样。这允许我使用测试数据来估计模型的性能,但它似乎让我无法利用 k 折交叉验证。我使用的方法是可接受的方法吗?是否有其他推荐的方法?
是的,简历结果会有偏差。您仍然可以使用它们来调整模型。
另一种选择是使用类加权方案,为不同类型的错误提供不对称的成本值(参见下面的参考资料)。这在某些软件中可用(例如 R kernlab 包)。
我认为这是一种更好的方法,因为它允许您调整成本函数以满足您的敏感性或特异性需求。这是另一个调整参数,在上采样时你没有那个“旋钮可以转动”。
最大限度
Veropoulos K、Campbell C、Cristianini N (1999)。“控制支持向量机的灵敏度。” 国际人工智能联合会议论文集,1999 年,55-60。
这是一个可能对此问题感兴趣的相关答案。(抱歉自动引用)