Sklean 管道订单

数据挖掘 scikit-学习 管道
2022-03-03 13:16:07

我应该使用 Sklearn 将数据转换放入管道中是否有正确的顺序?

目前我的管道中有这些项目;

特征选择、偏斜去除、缩放、异常值去除、过采样和估计器。

有正确或错误的方法吗?还是没有免费的午餐?

2个回答

最常见的方法是结合这两种策略:

  1. 领域专业知识 - 给定关于数据集和模型目标的知识,选择最能处理数据以实现项目目标的顺序。

  2. 经验证据 - 排列顺序和基准结果。选择在基准测试中具有最高性能的排列。

我会同意@BrianSpiering 关于一般方法的看法,并且同意你的看法,这是没有免费午餐的情况。但...

过采样似乎可以合理地适用于几乎任何地方。这可能取决于您正在执行哪种过采样。我可以看到新点弄乱了分布,从而影响了其他一切,但它也可能使其他步骤更加健壮。
(话又说回来,我仍在寻找重采样技术有助于大大超出阈值选择的示例。请参阅https://stats.stackexchange.com/questions/247871/what-is-the-root-cause-of-the-class -不平衡问题及其相关问题。)

异常值的移除应该尽早进行,因为异常值会影响偏斜/缩放校正。倾斜/缩放对我来说感觉就像是相同的过程,如果它们是单独的步骤,我怀疑它们可以按任何顺序发生。

我会在接近尾声时保留特征选择,以免忽略一个重要特征,因为它是倾斜/未缩放/易出现异常值的。(虽然特征选择方法是出了名的容易出错,所以如果移动它对于某些数据集表现更好,我不会感到惊讶。)