1

Weka の J48 についてちょっと質問があります。RWeka を使用して、R からこのアルゴリズムを実行します。おそらく簡単な解決策ですが、ウェブ上で見つけることができないようです。非常に小さな例:

require(RWeka)
Attr1 <- as.factor(c('0302','0302','0320'))
Attr2 <- as.factor(c('2','1','1'))
Target <- as.factor(c('target1','target2','target3'))
input <- data.frame(Attr1,Attr2,Target)
J48( Target ~ Attr1 + Attr2 , data= input, control= Weka_control(W=list(J48,m=1,U=T)))

J48 アルゴリズムによる適合をデータに適合させたい。これは、リーフの最小項目を 1 にし、ツリーを剪定しないことを意味します。次の出力が得られます。

J48 pruned tree
------------------
: target1 (3.0/2.0)
Number of Leaves  :     1
Size of the tree :  1

Attr1 = 0320 -> target3 または Attr2 = 2 -> target1 にしないのはなぜですか?

4

1 に答える 1

2

コードを少し簡略化し、問題を特定しました。 リーフの最小数のオプションは、「m」ではなく「M」で設定されます。 最初に可能なオプションを照会することでこれを発見しました

WOW(J48)  

関連する出力は次のとおりです。

-M <minimum number of instances>
    Set minimum number of instances per leaf.  (default 2)

コードの重要な部分は次のようになります。


J48( Target ~ Attr1 + Attr2 , data= input, control= Weka_control(M=1,U=TRUE))

J48 unpruned tree
------------------

Attr1 = 0302
|   Attr2 = 1: target2 (1.0)
|   Attr2 = 2: target1 (1.0)
Attr1 = 0320: target3 (1.0)

Number of Leaves  :     3

Size of the tree :  5
于 2013-11-11T22:29:06.833 に答える