Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用mlr3处理阶级不平衡_R_Pipeline_Imbalanced Data_Mlr3 - Fatal编程技术网

用mlr3处理阶级不平衡

用mlr3处理阶级不平衡,r,pipeline,imbalanced-data,mlr3,R,Pipeline,Imbalanced Data,Mlr3,最近有人建议我将机器学习框架改为mlr3。但我发现转变比我一开始想象的要困难一些。在我当前的项目中,我正在处理高度不平衡的数据,我希望在训练我的模型之前平衡这些数据。我已经了解了本教程,它解释了如何通过管道和图形处理不平衡: 我担心这种方法也会使用新的数据进行类平衡。为什么我要这样做并减少我的测试样本 因此,有两个问题正在上升: 我在测试数据中不平衡类对吗 如果是,在mlr3中是否有这样做的方法 当然,我可以手动将训练数据子集,然后自己处理不平衡问题,但这不再有趣了!:) 不管怎样,谢谢你的回

最近有人建议我将机器学习框架改为mlr3。但我发现转变比我一开始想象的要困难一些。在我当前的项目中,我正在处理高度不平衡的数据,我希望在训练我的模型之前平衡这些数据。我已经了解了本教程,它解释了如何通过管道和图形处理不平衡:

我担心这种方法也会使用新的数据进行类平衡。为什么我要这样做并减少我的测试样本

因此,有两个问题正在上升:

  • 我在测试数据中不平衡类对吗
  • 如果是,在mlr3中是否有这样做的方法
  • 当然,我可以手动将训练数据子集,然后自己处理不平衡问题,但这不再有趣了!:)

    不管怎样,谢谢你的回答,

    干杯

    要回答您的问题:

    我担心这种方法也会使用新的数据进行类平衡

    这不对,你从哪里弄来的

    我在测试数据中不平衡类对吗

    类平衡通常通过添加或删除行(或调整权重)来实现。所有这些步骤都不应该在预测步骤中应用,因为我们希望数据中的每一行正好有一个预测值。另一方面,权重在预测阶段通常没有影响。 你的假设是正确的

    如果是,在mlr3中是否有这样做的方法

    只需使用博客文章中描述的
    PipeOp
    。 在训练期间,它将执行指定的过采样或欠采样,而在预测期间它不执行任何操作


    干杯,

    回答您的问题:

    我担心这种方法也会使用新的数据进行类平衡

    这不对,你从哪里弄来的

    我在测试数据中不平衡类对吗

    类平衡通常通过添加或删除行(或调整权重)来实现。所有这些步骤都不应该在预测步骤中应用,因为我们希望数据中的每一行正好有一个预测值。另一方面,权重在预测阶段通常没有影响。 你的假设是正确的

    如果是,在mlr3中是否有这样做的方法

    只需使用博客文章中描述的
    PipeOp
    。 在训练期间,它将执行指定的过采样或欠采样,而在预测期间它不执行任何操作


    干杯,

    这只是我的假设。如果您查看mlr3 book()中的图表,看起来graph learner的每个部分都是在新数据中处理的。类平衡是一个异常,还是我理解不正确?
    PipeOp
    s在
    train
    test
    期间以正确的步骤实施。因此,在这种情况下,您的假设是不正确的。请参阅以获取参考。在
    predict
    过程中,
    PipeOp
    只传递它的输入。太棒了,感谢您的详细解释!非常感谢。这只是我的假设。如果您查看mlr3 book()中的图表,看起来graph learner的每个部分都是在新数据中处理的。类平衡是一个异常,还是我理解不正确?
    PipeOp
    s在
    train
    test
    期间以正确的步骤实施。因此,在这种情况下,您的假设是不正确的。请参阅以获取参考。在
    predict
    过程中,
    PipeOp
    只传递它的输入。太棒了,感谢您的详细解释!非常感谢。