从 Weka 中的 AdaBoostM1 获取实例权重



AdaBoostM1 是 Weka 中实现的增强算法。 该算法的一个关键组成部分是在每次迭代后对"难以分类"的实例进行重新加权。 我想获取 AdaBoostM1 用于它构造的每个分类器的每个实例的权重

我使用"Instance.weight()"在构建AdaBoostM1模型之前和之后获取实例权重。 重量不会改变,因此不是我感兴趣的。 AdaBoostM1的源代码是可用的,可以看出权重是在模型构建期间设置的(这里)。 是否可以在 AdaBoostM1 构建每个新模型之前以某种方式获得实例权重?

不,Weka的AdaboostM1没有这样的功能。但是你可以继承 AdaBoostM1 类,从源代码复制 AdaBoostM1#buildClassifierUsingResampling 方法,并将其粘贴到子类中并操作 double[] 权重变量(如第 513 行所示)。

最新更新