2014-11-24 2 views
1

Я хотел бы изменить алгоритм J48 Weka в этом пути:Модификация J48 алгоритма в Weka

Я хотел бы изменить алгоритм J48, чтобы разделить данные, аналогичные RandomForest алгоритма (код отвечает за поиск лучших разделение на узел).

Что мне нужно делать? Я знаю, что я должен изменить часть C45ModelSelection кода для кода в RandomForest:

C45ModelSelection.java 

... 

    // Find "best" attribute to split on. 
    minResult = 0; 
    for (i=0;i<data.numAttributes();i++){ 
if ((i != (data).classIndex()) && 
    (currentModel[i].checkModel())) 

    // Use 1E-3 here to get a closer approximation to the original 
    // implementation. 
    if ((currentModel[i].infoGain() >= (averageInfoGain-1E-3)) && 
     Utils.gr(currentModel[i].gainRatio(),minResult)){ 
    bestModel = currentModel[i]; 
    minResult = currentModel[i].gainRatio(); 
    } 
    } 

...

ответ

0

Похоже, что вы хотите заменить код Разделить с RandomForest Split кодекса. Этот код, как представляется, существует в функции RandomTree.buildTree в RandomTree.java

Код разделения несколько отличается от кода J48, поэтому вам может потребоваться рассмотреть, какие другие изменения необходимы в дополнение к разделяемому коду для функциональности работайте правильно, но это будет хорошей отправной точкой для достижения того, что вам нужно.

Надеюсь, что это поможет!

Смежные вопросы