2014-11-24 124 views
1

我想修改Weka中的J48算法是這樣的:修改J48算法的Weka

我想改變J48的算法來劃分類似於隨機森林算法(負責尋找最佳的代碼數據拆分節點)。

我該怎麼辦?我知道,我在隨機森林改變C45ModelSelection代碼的部分代碼:

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

看來,你正在尋找替代與隨機森林拆分代碼分割代碼。此代碼似乎存在於RandomTree.java中的RandomTree.buildTree函數中

分割代碼與J48代碼看起來有些不同,正確地工作,但這將是一個很好的實現你的目標的起點。

希望這有助於!