在隨機森林方法中,創(chuàng)建大量的決策樹。 每個觀察被饋入每個決策樹。 每個觀察的最常見的結(jié)果被用作最終輸出。 新的觀察結(jié)果被饋入所有的樹并且對每個分類模型取多數(shù)投票。
對構(gòu)建樹時未使用的情況進行錯誤估計。 這稱為OOB(袋外)誤差估計,其被提及為百分比。
R語言包“randomForest”用于創(chuàng)建隨機森林。
在R語言控制臺中使用以下命令安裝軟件包。 您還必須安裝相關(guān)軟件包(如果有)。
install.packages("randomForest")
包“randomForest”具有函數(shù)randomForest(),用于創(chuàng)建和分析隨機森林。
在R語言中創(chuàng)建隨機森林的基本語法是 -
randomForest(formula, data)
以下是所使用的參數(shù)的描述 -
formula是描述預測變量和響應變量的公式。
data是所使用的數(shù)據(jù)集的名稱。
我們將使用名為readingSkills的R語言內(nèi)置數(shù)據(jù)集來創(chuàng)建決策樹。 它描述了某人的readingSkills的分數(shù),如果我們知道變量“age”,“shoesize”,“score”,以及該人是否是母語。
以下是示例數(shù)據(jù)。
# Load the party package. It will automatically load other required packages. library(party) # Print some records from data set readingSkills. print(head(readingSkills))
當我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果及圖表 -
nativeSpeaker age shoeSize score 1 yes 5 24.83189 32.29385 2 yes 6 25.95238 36.63105 3 no 11 30.42170 49.60593 4 yes 7 28.66450 40.28456 5 yes 11 31.88207 55.46085 6 yes 10 30.07843 52.83124 Loading required package: methods Loading required package: grid ............................... ...............................
我們將使用randomForest()函數(shù)來創(chuàng)建決策樹并查看它的圖。
# Load the party package. It will automatically load other required packages. library(party) library(randomForest) # Create the forest. output.forest <- randomForest(nativeSpeaker ~ age + shoeSize + score, data = readingSkills) # View the forest results. print(output.forest) # Importance of each predictor. print(importance(output.forest,type = 2))
當我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
Call: randomForest(formula = nativeSpeaker ~ age + shoeSize + score, data = readingSkills) Type of random forest: classification Number of trees: 500 No. of variables tried at each split: 1 OOB estimate of error rate: 1% Confusion matrix: no yes class.error no 99 1 0.01 yes 1 99 0.01 MeanDecreaseGini age 13.95406 shoeSize 18.91006 score 56.73051
從上面顯示的隨機森林,我們可以得出結(jié)論,鞋碼和成績是決定如果某人是母語者或不是母語的重要因素。 此外,該模型只有1%的誤差,這意味著我們可以預測精度為99%。
更多建議: