我有許多大的隨機森林分類模型(每個~60分鐘的運行時間),用於使用type =「prob」選項預測柵格。我對柵格輸出(每個x類的概率作爲柵格堆棧)感到滿意。然而,我想要一個簡單的方法來將這些概率(x層的柵格堆棧,其中x是類的數量)轉換爲簡單的一層分類(即僅獲勝者,沒有概率)。這將相當於type =「response」。如何將隨機森林預測概率轉換爲單個分類響應?
下面是一個簡單的例子(這是不是一個光柵,但仍適用):
library(randomForest)
data(iris)
set.seed(111)
ind <- sample(2, nrow(iris), replace = TRUE, prob=c(0.8, 0.2))
iris.rf <- randomForest(Species ~ ., data=iris[ind == 1,])
iris.prob <- predict(iris.rf, type="prob")
iris.resp <- predict(iris.rf, type="response")
什麼是使用iris.prob對象來獲取iris.resp的等效輸出的最有效方式而不重新運行randomforests(在我的情況下,與許多大型柵格,將花費太多時間)?
在此先感謝
一旦您運行了'iris.rf','predict'功能就不需要您重新運行該模型。一旦模型運行,預測速度應該更快,因爲它們只是使用模型的輸出來計算概率或響應。你是否試圖找出運行預測的最有效方法是什麼?或者你是否正試圖弄清楚如何從'type =「prob」''中得到相同的值,以便從'type =「response」'中獲取? –
是的,我同意。但是我沒有訪問模型(iris.rf) - 只有輸出概率(iris.prob)。需要一種簡單的方法將概率對象轉換爲單個分類對象 – treetopdewdrop
好的,所以有人已經運行了模型以及'iris.prob',並且您試圖在不運行模型的情況下複製'iris.resp'?我知道運行該模型需要花費很多小時,而我只是試圖找出問題 –