運(yùn)用R語(yǔ)言實(shí)現(xiàn)隨機(jī)森林
安裝所需要的包randomForest.在Rstudio中輸入所需安裝的包的名稱(chēng)進(jìn)行安裝。
安裝完成后運(yùn)用library("randomForest")進(jìn)行檢測(cè)
隨機(jī)森林與決策樹(shù)
先簡(jiǎn)單介紹一下有關(guān)隨機(jī)森林的內(nèi)容
對(duì)比與決策樹(shù),隨機(jī)森林更好地防止過(guò)擬合的問(wèn)題。我們?cè)跇?gòu)建決策樹(shù)的時(shí)候可以讓樹(shù)完全的生長(zhǎng),也可以通過(guò)參數(shù)控制樹(shù)的深度。完全生長(zhǎng)的樹(shù)會(huì)帶來(lái)過(guò)擬合的問(wèn)題。過(guò)擬合一般由于數(shù)據(jù)中的噪聲和離群點(diǎn)導(dǎo)致,一般的解決方法是對(duì)樹(shù)進(jìn)行剪枝。決策樹(shù)的剪枝是一個(gè)比較基礎(chǔ)的問(wèn)題。這樣就過(guò)于麻煩,所以我們可以用隨機(jī)森林來(lái)代替決策樹(shù)。
隨即森林屬于機(jī)器學(xué)習(xí)中的一種組合算法。組合算法分為兩類(lèi):Bagging,Boosting。
隨即森林屬于Bagging。
使用多棵樹(shù)進(jìn)行單獨(dú)的預(yù)測(cè),最后的結(jié)論有這些樹(shù)的預(yù)測(cè)共同組成。
處處隨機(jī)
隨機(jī)森林中的每一棵樹(shù)不一樣,每一棵樹(shù)都隨機(jī)地在原有的數(shù)據(jù)的基礎(chǔ)上進(jìn)行有放回的抽樣。為了保證樹(shù)之間的獨(dú)立性我們一般進(jìn)行兩到三層的獨(dú)立性。
隨機(jī)森林的隨機(jī)性來(lái)自于三個(gè)方面:
- 隨即又放回的抽取數(shù)據(jù)。
- 隨機(jī)選取N個(gè)特征
- 在N個(gè)最好的分裂中隨機(jī)選取一個(gè)進(jìn)行分裂。
隨即森林基本上繼承了決策樹(shù)的全部?jī)?yōu)點(diǎn),只需很少的數(shù)據(jù)準(zhǔn)備。隨即森林有天生的并行性,可以處理大規(guī)模的數(shù)據(jù),容易在分布式的環(huán)境中運(yùn)用。
R語(yǔ)言中的隨即森林
randomForest(formula, data)基本語(yǔ)法
formula是描述預(yù)測(cè)變量和響應(yīng)變量的公式。
data是所使用的數(shù)據(jù)集的名稱(chēng)