使用randomForest
,我得到一個RF對象。
例如forest <- randomForest(as.formula(generic),data=train, mtry=2)
)
根據隨機森林物體預測響應填充數據
使用predict
我可以預測測試數據集的響應。
的響應是A,B或C.
prediction <- predict(forest, newdata=test, type='class')
mytable <- table(test$class_w,prediction)
sum(mytable[row(mytable) != col(mytable)])/sum(mytable)#show error
調用森林對象我得到的混淆矩陣:
A B C class.error
A 498 79 170 0.3333333
B 115 353 237 0.4992908
C 96 99 967 0.1678141
例如測試數據集:
id |class_w| valueA | valueB |
1 | C | 0.254 | 0.334 |
2 | A | 0.654 | 0.334 |
3 | A | 0.554 | 0.314 |
4 | B | 0.454 | 0.224 |
5 | C | 0.354 | 0.332 |
6 | C | 0.264 | 0.114 |
7 | C | 0.264 | 0.664 |
我想知道我是否可以創建一個新的數據集,其中包含兩列,即前一個數據集的ID和預測的響應(RF給了)。 例如
row id of test dataset | predicted response
1 | A #failed
2 | B #failed
3 | B #failed
4 | B #TRUE!
在此先感謝您的幫助。
嗨joran。我的意思是,如果可能的話,要知道數據集中每一行的預測值,並通過使用一個函數來標記響應,如df $ RF_Prediction < - predicted_value – 2013-04-22 21:09:49
我仍然不明白。你只是想'測試$ RF_prediction < - 預測'?它們應該按照相同的順序。 (你不是指'type =「response」'?) – joran 2013-04-22 21:14:52
我會編輯這個問題給我一分鐘 – 2013-04-22 21:17:30