Rad*_*bys 3 pipeline r mlr3 imbalanced-data
最近有人建议我将机器学习框架更改为 mlr3。但我发现过渡比我一开始想象的要困难一些。在我当前的项目中,我正在处理高度不平衡的数据,我希望在训练模型之前对其进行平衡。我发现这个教程解释了如何通过管道和图形学习器处理不平衡:
https://mlr3gallery.mlr-org.com/posts/2020-03-30-imbalanced-data/
恐怕这种方法也会通过新数据预测来执行类平衡。我为什么要这样做并减少我的测试样本?
所以出现的两个问题是:
当然,我可以手动对训练数据进行子集化并自己处理不平衡问题,但这不再有趣了!:)
无论如何,感谢您的回答,
干杯!
小智 5
回答你的问题:
恐怕这种方法也会通过新数据预测来执行类平衡。
这是不正确的,你从哪里得到这个?
我在测试数据中不平衡类别是否正确?
类平衡通常通过添加或删除行(或调整权重)来实现。所有这些步骤都不应该在预测步骤中应用,因为我们希望数据中的每一行都有一个预测值。另一方面,权重通常在预测阶段没有影响。你的假设是正确的。
如果是这样,mlr3中有没有办法做到这一点?
PipeOp只需按照博客文章中的描述使用即可。在训练期间,它将执行指定的过采样或欠采样,而在预测期间则不执行任何操作。
干杯,