第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

隨機森林(R語言)

標簽:
機器學習

随机森林可处理大量输入变量,并且可以得到变量重要性排序,在实际中,有广泛应用。本文简要展示R语言实现随机森林的示例代码,并通过F值判断模型效果。

随机森林

随机森林是一种常用的集成学习算法,基分类器为决策树。每棵树随机选择观测与变量进行分类器构建,最终结果通过投票得到。一般每棵树选择logN个特征(N为特征数),如果每棵树都选择全部特征,则此时的随机森林可以看成是bagging算法。R语言中,可通过randomForest包中的randomForest()函数完成随机森林算法。

R语言实现

导入包与数据,并根据3:7将数据分为测试集和训练集。

target.url <- 'https://archive.ics.uci.edu/ml/machine-learning-databases/undocumented/connectionist-bench/sonar/sonar.all-data'

data <- read.csv(target.url,header = F) 

set.seed(17)  

index <-  which( (1:nrow(data))%%3 == 0 )

train <- data[-index,]

test <- data[index,]

library(randomForest)

进行随机森林训练。randomForest()函数中的两个重要参数为ntree和mtry,其中ntree为包含的基分类器个数,默认为500;mtry为每个决策树包含的变量个数,默认为logN,数据量不大时可以循环选择最优参数值。

err<-as.numeric()

for(i in 1:(length(names(train)))-1){  

  mtry_test <- randomForest(V61~., data=train, mtry=i)    

  err<- append( err, mean( mtry_test$err.rate ) )

}  

print(err)

mtry<-which.min(err)

ntree_fit<-randomForest(V61~., data=train, mtry=mtry, ntree=1000)

plot(ntree_fit)

webp

发现mtry取7时err最小,ntree取900时误差稳定。

得到最终分类器,并观察模型效果和变量重要性。

rf<-randomForest(V61~., data=train, mtry=mtry, ntree=900, importance=T )

rf

webp

模型误差为20.14%。然后可以通过精确度和基尼系数,判断变量重要性。

importance(rf)

varImpPlot(rf)

webp

对测试集进行预测,并计算F值,用来判断模型效果。

pred1<-predict(rf,newdata=test)

Freq1<-table(pred1,test$V61)

tp<-as.data.frame(Freq1)[4,3]

tn<-as.data.frame(Freq1)[1,3]

fn<-as.data.frame(Freq1)[2,3]

fp<-as.data.frame(Freq1)[3,3]

p<-tp/(tp+fp)

r<-tp/(tp+fn)

f<-2/(1/p+1/r)

webp

最终发现,F值为0.87。



作者:小沁_3ca9
链接:https://www.jianshu.com/p/1f9ee2a1fd7f


點擊查看更多內(nèi)容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消