2
我剛剛開始玩弄R中的隨機森林包。在我的森林生長後,我嘗試使用相同的數據集(即訓練數據集)預測響應,這給了我一個與那個印有森林物體本身。我認爲newdata參數可能有問題,但我遵循文檔中給出的例子給t,它給出了同樣的問題。以下是使用Species數據集的示例。這是作者在他們的文檔中使用的例子,除了我使用相同的數據集來訓練和預測... 所以這裏的問題是:爲什麼這兩個混淆矩陣不相同?隨機森林包預測,newdata參數?
data(iris)
set.seed(111)
ind <- sample(2, nrow(iris), replace = TRUE, prob=c(0.8, 0.2))
#grow forest
iris.rf <- randomForest(Species ~ ., data=iris[ind == 1,])
print(iris.rf)
Call:
randomForest(formula = Species ~ ., data = iris[ind == 1, ])
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 2
OOB estimate of error rate: 3.33%
Confusion matrix:
setosa versicolor virginica class.error
setosa 45 0 0 0.00000000
versicolor 0 39 1 0.02500000
virginica 0 3 32 0.08571429
#predict using the training again...
iris.pred <- predict(iris.rf, iris[ind == 1,])
table(observed = iris[ind==1, "Species"], predicted = iris.pred)
predicted
observed setosa versicolor virginica
setosa 45 0 0
versicolor 0 40 0
virginica 0 0 35
如果在testData上應用隨機森林之後,我們如何獲得一個數據框,告訴我們測試數據中的真實分類,隨機森林所做的預測以及該預測的概率分數,您能指導我嗎?例如,考慮上面的數據集和1個案例,在testData中,物種(盲目的隨機森林信息)是** versicolor **,但它被分類器錯誤地預測爲** setosa **,概率分數爲** 0.67 **。我想要這種信息,但不知道如何獲得這個..! – Newbie