0

R の j48 ツリーを使用して、266 のインスタンスと約 100 の指標で構成されるデータセットの分析を行いました。私は機械学習に最も熟練していませんが、とにかく、Weka とR. 後者では、ツリーを partykit パッケージで視覚化できることがわかりました。しかし、私が得た結果を解釈するのは難しいと思います。つまり、これらです (X、Y、Z は、266 のインスタンスのそれぞれを説明するために使用する 100 以上の指標のうちの 3 つであり、そのうち 190 は正常または 0 で、76 は異常または 1 です。 )。 J48 剪定木

私が使用したコードは非常に簡単です:

m1 <- J48(Case~., data = mydata, control = Weka_control(R = TRUE))
if(require("partykit", quietly = TRUE)) plot(m1)

だから私は木を剪定しました。もう 1 つの質問: ツリーから適合値を取得できることは理解しましたが、その方法はわかりません。両方または 1 つの質問についてのヘルプをいただければ幸いです。

4

2 に答える 2

1

変数 X、Y、Z は、データを分割 (または分割) するために選択されていますが、残りの変数は選択されていません。したがって、結果として得られる端末ノードは、応答のさまざまな確率につながります。応答確率は、視覚化のターミナル ノードの積み上げ棒グラフによっても表示されます。

たとえば、X <= 34 の場合、応答確率はかなり低くなります (約 17%)。これは、266 個の観測のうち 193 個を含む最大のサブセットです。応答確率が非常に高い (約 96%) 唯一のサブセットは、X > 34 & Y <= 482 & Z > 451 の 35 個の観測値です。

@Roman Luštrik によってすでに指摘されているように、各観測値の適合値は によって取得できますpredict(m1, type = "prob")

于 2015-11-01T22:36:07.947 に答える
0

当てはめ値を取得する一般的な R の方法は、 function を使用することpredictです。あなたの場合、分類の確率に興味があります。詳細については、を参照?predict.Weka_classifierしてください。

library(RWeka)

m1 <- J48(Species ~ ., data = iris)
predict(m1, type = "probability")
    setosa versicolor  virginica
1        1 0.00000000 0.00000000
2        1 0.00000000 0.00000000
3        1 0.00000000 0.00000000
4        1 0.00000000 0.00000000
5        1 0.00000000 0.00000000
6        1 0.00000000 0.00000000
于 2015-11-01T06:46:27.800 に答える