2013-09-09 3 views
0

AdaBoostM1 - алгоритм ускорения, реализованный в Weka. Ключевым компонентом этого алгоритма является переопределение «трудно классифицировать» экземпляры после каждой итерации. Я хочу, чтобы получить вес каждого экземпляра, который AdaBoostM1 использует для каждого классификатора он строитПолучить весы из AdaBoostM1 в Weka

я использовал «Instance.weight()» для получения веса экземпляра до и после построения модели AdaBoostM1. Весы не меняются и, следовательно, меня не интересуют. Исходный код для AdaBoostM1 доступен, и можно видеть, что веса устанавливаются во время построения модели (here). Можно ли каким-то образом получить вес экземпляра до того, как AdaBoostM1 создаст каждую новую модель?

ответ

1

Нет, AdaboostM1 от Weka не имеет такой функции. Но вы можете наследовать класс AdaBoostM1, скопировать метод AdSBoostM1 # buildClassifierUsingResampling из источника и вставить его в свой подкласс и манипулировать переменной double [] весом (как видно из line 513).