如何在 scikit 的 Pipeline 中添加过采样/欠采样程序?

Shu*_*ang 6 python scikit-learn

我想在 scikit 的Pipeline 中添加过采样程序,例如SMOTE oversampling。但是transformers只支持和方法,并没有提供增加样本和目标数量的方法。fittransform

一种可能的方法是将管道分解为通过 SMOTE 采样连接的两个独立管道。

有没有更好的解决方案?

ogr*_*sel 5

我们当前Pipeline不支持更改步骤之间的样本数量,因为该Transformer.transform方法不返回y也需要重新采样的参数。这是当前设计的已知限制。它可能会在未来的版本中修复,但我们还没有开始工作。

  • 您可以调整样本的权重来尝试克服这个问题。或者,您可以预先重新采样数据。 (2认同)