2014-05-11 27 views
0

我想使用隨機森林進行分類,但有兩件事我找不到解決方案:第一種是我如何附加預測結果給數據幀。其次,除了關於預測質量的列聯表之外,我怎樣才能獲得更多的見解(圖表,統計數據等)? 這裏是我的數據幀例如:在隨機森林中 - 如何將預測結果附加到數據框

dat <- read.table(text = " TargetVar Var1 Var2  Var3 
0  0  0   7 
0  0  1   1 
0  1  0   3 
0  1  1   7 
1  0  0   5 
1  0  1   1 
1  1  0   0 
1  1  1   6 
0  0  0   8 
0  0  1   5 
1  1  1   4 
0  0  1   2 
1  0  0   9 
1  1  1   2 ", header = TRUE) 

dat$dat$TargetVar <- as.factor(dat$TargetVar) #changed my target variable into a factor 
rf <- randomForest(TargetVar~Var1 + Var2+ Var3 ,data=dat,ntree=10,importance=TRUE) #produced the model 
table(predict(rf),dat$TargetVar) # got the contingency table 

感謝。

回答

2

我只能回答你的問題的第一部分。

我怎麼可以將預測結果,以數據幀

要做到這一點,你可以使用cbind功能:

考慮您的預測結果:

predict(rf) 

將它們變成數據幀

predResults <- data.frame(predict(rf)) 

和更新的原始數據幀(DAT),包括這些結果:

dat <- cbind(dat,predResults) 

> dat 
     TargetVar Var1 Var2 Var3 predict.rf. 
    1  0  0 0 7 0.40000000 
    2  0  0 1 1 0.69642857 
    3  0  1 0 3 1.00000000 
    4  0  1 1 7 0.50000000 
    5  1  0 0 5 0.30000000 
    6  1  0 1 1 0.22380952 
    7  1  1 0 0 0.47817460 
    8  1  1 1 6 0.52916667 
    9  0  0 0 8 0.44444444 
    10  0  0 1 5 0.07142857 
    11  1  1 1 4 0.66666667 
    12  0  0 1 2 1.00000000 
    13  1  0 0 9 0.15666667 
    14  1  1 1 2 0.51785714 
+0

嗨,我編輯我的答案。你只需要進行預測並將它們轉換爲數據框,這樣就可以使用cbind將預測添加到原始數據框中。 – cbento

+0

嗨,謝謝cbento .. – mql4beginner