最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

R語言泰坦尼克號隨機(jī)森林模型案例數(shù)據(jù)分析|附代碼數(shù)據(jù)

2023-03-28 23:40 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=4281

最近我們被客戶要求撰寫關(guān)于隨機(jī)森林模型的研究報(bào)告,包括一些圖形和統(tǒng)計(jì)輸出。

如果我們對所有這些模型的結(jié)果進(jìn)行平均,我們有時(shí)可以從它們的組合中找到比任何單個(gè)部分更好的模型。這就是集成模型的工作方式

讓我們構(gòu)建一個(gè)由三個(gè)簡單決策樹組成的非常小的集合來說明:

這些樹中的每一個(gè)都根據(jù)不同的變量做出分類決策。

隨機(jī)森林模型比上面的決策樹更深地生長樹木,實(shí)際上默認(rèn)是盡可能地將每棵樹生長出來。隨機(jī)森林以兩種方式做到這一點(diǎn)。

第一個(gè)技巧是使用套袋。Bagging會對您的訓(xùn)練集中的行進(jìn)行隨機(jī)抽樣。使用樣本函數(shù)很容易在R中進(jìn)行模擬。假設(shè)我們想在10行的訓(xùn)練集上進(jìn)行裝袋。

> sample(1:10, replace = TRUE)[1] 3 1 9 1 7 10 10 2 2 9

在此模擬中,如果再次運(yùn)行此命令,則每次都會獲得不同的行樣本。平均而言,大約37%的行將被排除在自舉樣本之外。通過這些重復(fù)和省略的行,每個(gè)使用裝袋生長的決策樹將略有不同。

第二個(gè)隨機(jī)來源超越了這個(gè)限制。隨機(jī)森林不是查看整個(gè)可用變量池,而是僅采用它們的一部分,通常是可用數(shù)量的平方根。在我們的例子中,我們有10個(gè)變量,因此使用三個(gè)變量的子集是合理的。

通過這兩個(gè)隨機(jī)性來源,整體包含一系列完全獨(dú)特的樹木,這些樹木的分類都不同。與我們的簡單示例一樣,每個(gè)樹都被調(diào)用以對給定乘客進(jìn)行分類,對投票進(jìn)行統(tǒng)計(jì)(可能有數(shù)百或數(shù)千棵樹)并且選擇多數(shù)決策。

R的隨機(jī)森林算法對我們的決策樹沒有一些限制。我們必須清理數(shù)據(jù)集中的缺失值。rpart它有一個(gè)很大的優(yōu)點(diǎn),它可以在遇到一個(gè)NA值時(shí)使用替代變量。在我們的數(shù)據(jù)集中,缺少很多年齡值。如果我們的任何決策樹按年齡分割,那么樹將搜索另一個(gè)以與年齡相似的方式分割的變量,并使用它們代替。隨機(jī)森林無法做到這一點(diǎn),因此我們需要找到一種手動(dòng)替換這些值的方法。

看一下合并后的數(shù)據(jù)框的年齡變量:

> summary(combi$Age)Min. 1st Qu. Median Mean 3rd Qu. Max. NA's 0.17 21.00 28.00 29.88 39.00 80.00 263

1309個(gè)中有263個(gè)值丟失了,這個(gè)數(shù)字高達(dá)20%!此子集是否缺少值。我們現(xiàn)在也想使用method="anova"決策樹的版本,因?yàn)槲覀儾皇且兕A(yù)測某個(gè)類別,而是連續(xù)變量。因此,讓我們使用可用的年齡值在數(shù)據(jù)子集上生成一個(gè)樹,然后替換缺少的那些樣本:

> combi$Age[is.na(combi$Age)] <- predict(Agefit, combi[is.na(combi$Age),])

您可以繼續(xù)檢查摘要,所有這些NA值都消失了。

現(xiàn)在讓我們看看整個(gè)數(shù)據(jù)集的摘要,看看是否還有其他我們以前沒有注意到的問題變量:

> summary(combi)

?

> summary(combi$Embarked) C Q S2 270 123 914

兩名乘客的空白。首先,我們需要找出他們是誰!我們可以which用于此:

> which(combi$Embarked == '')[1] 62 830

然后我們簡單地替換這兩個(gè),并將其編碼為一個(gè)因素:

> combi$Embarked <- factor(combi$Embarked)

另一個(gè)變量是Fare,讓我們來看看:

> summary(combi$Fare)Min. 1st Qu. Median Mean 3rd Qu. Max. NA's 0.000 7.896 14.450 33.300 31.280 512.300 1

它只有一個(gè)乘客NA,所以讓我們找出它是哪一個(gè)并用中位數(shù)票價(jià)取而代之:

> which(is.na(combi$Fare))[1] 1044

好的。我們的數(shù)據(jù)框現(xiàn)已被清理。現(xiàn)在進(jìn)入第二個(gè)限制:R中的隨機(jī)森林只能消化多達(dá)32個(gè)等級的因子。我們的FamilyID變量幾乎翻了一倍。我們可以在這里采用兩條路徑,或者將這些級別更改為它們的基礎(chǔ)整數(shù)(使用unclass()函數(shù))并讓樹將它們視為連續(xù)變量,或者手動(dòng)減少級別數(shù)以使其保持在閾值之下。

我們采取第二種方法。然后我們將它轉(zhuǎn)換回一個(gè)因素:

> combi$FamilyID2 <- combi$FamilyID> combi$FamilyID2 <- factor(combi$FamilyID2)

我們已經(jīng)降到了22級,所以我們很好地將測試和訓(xùn)練集分開,安裝并加載包

randomForest:> install.packages('randomForest')

設(shè)置隨機(jī)種子。

> set.seed(415)

內(nèi)部數(shù)字并不重要,您只需確保每次使用相同的種子編號,以便在隨機(jī)森林函數(shù)內(nèi)生成相同的隨機(jī)數(shù)。

現(xiàn)在我們準(zhǔn)備運(yùn)行我們的模型了。語法類似于決策樹。

> fit <- randomForest( )

我們強(qiáng)制模型通過暫時(shí)將目標(biāo)變量更改為僅使用兩個(gè)級別的因子來預(yù)測我們的分類,而不是method="class"像使用那樣指定。

如果您正在使用更大的數(shù)據(jù)集,您可能希望減少樹的數(shù)量,至少在初始探索時(shí),使用限制每個(gè)樹的復(fù)雜性nodesize以及減少采樣的行數(shù)sampsize

那么讓我們來看看哪些變量很重要:

> varImpPlot(fit)

?

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

PYTHON鏈家租房數(shù)據(jù)分析:嶺回歸、LASSO、隨機(jī)森林、XGBOOST、KERAS神經(jīng)網(wǎng)絡(luò)、KMEANS聚類、地理可視化

左右滑動(dòng)查看更多

01

02

03

04

我們的Title變量在這兩個(gè)指標(biāo)中都處于領(lǐng)先地位。我們應(yīng)該非常高興地看到剩下的工程變量也做得非常好。

預(yù)測函數(shù)與決策樹的工作方式類似,我們可以完全相同的方式構(gòu)建提交文件。

> Prediction <- predict(fit, test) > write.csv(submit, file = "firstforest.csv", row.names = FALSE)

讓我們嘗試一下條件推理樹的森林。

所以繼續(xù)安裝并加載party包。

> install.packages('party') > library(party)

以與我們的隨機(jī)森林類似的方式構(gòu)建模型:

> set.seed(415) > fit <- cforest( )

條件推理樹能夠處理比Random Forests更多級別的因子。讓我們做另一個(gè)預(yù)測:

> Prediction <- predict(fit, test, OOB=TRUE, type = "response")

?

?

有問題歡迎下方留言!

?

點(diǎn)擊文末?“閱讀原文”

獲取全文完整代碼數(shù)據(jù)資料。

本文選自《R語言泰坦尼克號隨機(jī)森林模型案例數(shù)據(jù)分析》。

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

R語言貝葉斯廣義線性混合(多層次/水平/嵌套)模型GLMM、邏輯回歸分析教育留級影響因素?cái)?shù)據(jù)
Python中的Lasso回歸之最小角算法LARS
高維數(shù)據(jù)懲罰回歸方法:主成分回歸PCR、嶺回歸、lasso、彈性網(wǎng)絡(luò)elastic net分析基因數(shù)據(jù)
Python高維變量選擇:SCAD平滑剪切絕對偏差懲罰、Lasso懲罰函數(shù)比較
R語言懲罰logistic邏輯回歸(LASSO,嶺回歸)高維變量選擇的分類模型案例
R使用LASSO回歸預(yù)測股票收益
廣義線性模型glm泊松回歸的lasso、彈性網(wǎng)絡(luò)分類預(yù)測學(xué)生考試成績數(shù)據(jù)和交叉驗(yàn)證
貝葉斯分位數(shù)回歸、lasso和自適應(yīng)lasso貝葉斯分位數(shù)回歸分析免疫球蛋白、前列腺癌數(shù)據(jù)
R語言RSTAN MCMC:NUTS采樣算法用LASSO 構(gòu)建貝葉斯線性回歸模型分析職業(yè)聲望數(shù)據(jù)
r語言中對LASSO回歸,Ridge嶺回歸和彈性網(wǎng)絡(luò)Elastic Net模型實(shí)現(xiàn)
R語言高維數(shù)據(jù)懲罰回歸方法:主成分回歸PCR、嶺回歸、lasso、彈性網(wǎng)絡(luò)elastic net分析基因數(shù)據(jù)(含練習(xí)題)
Python中LARS和Lasso回歸之最小角算法Lars分析波士頓住房數(shù)據(jù)實(shí)例
R語言Bootstrap的嶺回歸和自適應(yīng)LASSO回歸可視化
R語言Lasso回歸模型變量選擇和糖尿病發(fā)展預(yù)測模型R語言實(shí)現(xiàn)貝葉斯分位數(shù)回歸、lasso和自適應(yīng)lasso貝葉斯分位數(shù)回歸分析
基于R語言實(shí)現(xiàn)LASSO回歸分析
R語言用LASSO,adaptive LASSO預(yù)測通貨膨脹時(shí)間序列
R語言自適應(yīng)LASSO 多項(xiàng)式回歸、二元邏輯回歸和嶺回歸應(yīng)用分析
R語言懲罰logistic邏輯回歸(LASSO,嶺回歸)高維變量選擇的分類模型案例
Python中的Lasso回歸之最小角算法LARS
r語言中對LASSO回歸,Ridge嶺回歸和彈性網(wǎng)絡(luò)Elastic Net模型實(shí)現(xiàn)
r語言中對LASSO回歸,Ridge嶺回歸和Elastic Net模型實(shí)現(xiàn)
R語言實(shí)現(xiàn)LASSO回歸——自己編寫LASSO回歸算法
R使用LASSO回歸預(yù)測股票收益
python使用LASSO回歸預(yù)測股票收益Python中LARS和Lasso回歸之最小角算法Lars分析波士頓住房數(shù)據(jù)實(shí)例
R語言Bootstrap的嶺回歸和自適應(yīng)LASSO回歸可視化
R語言Lasso回歸模型變量選擇和糖尿病發(fā)展預(yù)測模型R語言實(shí)現(xiàn)貝葉斯分位數(shù)回歸、lasso和自適應(yīng)lasso貝葉斯分位數(shù)回歸分析
基于R語言實(shí)現(xiàn)LASSO回歸分析
R語言用LASSO,adaptive LASSO預(yù)測通貨膨脹時(shí)間序列
R語言自適應(yīng)LASSO 多項(xiàng)式回歸、二元邏輯回歸和嶺回歸應(yīng)用分析
R語言懲罰logistic邏輯回歸(LASSO,嶺回歸)高維變量選擇的分類模型案例
Python中的Lasso回歸之最小角算法LARS
r語言中對LASSO回歸,Ridge嶺回歸和彈性網(wǎng)絡(luò)Elastic Net模型實(shí)現(xiàn)
r語言中對LASSO回歸,Ridge嶺回歸和Elastic Net模型實(shí)現(xiàn)
R語言實(shí)現(xiàn)LASSO回歸——自己編寫LASSO回歸算法
R使用LASSO回歸預(yù)測股票收益
python使用LASSO回歸預(yù)測股票收益R語言隨機(jī)森林RandomForest、邏輯回歸Logisitc預(yù)測心臟病數(shù)據(jù)和可視化分析
數(shù)據(jù)分享|R語言邏輯回歸、線性判別分析LDA、GAM、MARS、KNN、QDA、決策樹、隨機(jī)森林、SVM分類葡萄酒交叉驗(yàn)證ROC
MATLAB隨機(jī)森林優(yōu)化貝葉斯預(yù)測分析汽車燃油經(jīng)濟(jì)性
R語言用Rcpp加速M(fèi)etropolis-Hastings抽樣估計(jì)貝葉斯邏輯回歸模型的參數(shù)
R語言邏輯回歸、Naive Bayes貝葉斯、決策樹、隨機(jī)森林算法預(yù)測心臟病
R語言中貝葉斯網(wǎng)絡(luò)(BN)、動(dòng)態(tài)貝葉斯網(wǎng)絡(luò)、線性模型分析錯(cuò)頜畸形數(shù)據(jù)
R語言中的block Gibbs吉布斯采樣貝葉斯多元線性回歸
Python貝葉斯回歸分析住房負(fù)擔(dān)能力數(shù)據(jù)集
R語言實(shí)現(xiàn)貝葉斯分位數(shù)回歸、lasso和自適應(yīng)lasso貝葉斯分位數(shù)回歸分析
Python用PyMC3實(shí)現(xiàn)貝葉斯線性回歸模型
R語言用WinBUGS 軟件對學(xué)術(shù)能力測驗(yàn)建立層次(分層)貝葉斯模型
R語言Gibbs抽樣的貝葉斯簡單線性回歸仿真分析
R語言和STAN,JAGS:用RSTAN,RJAG建立貝葉斯多元線性回歸預(yù)測選舉數(shù)據(jù)
R語言基于copula的貝葉斯分層混合模型的診斷準(zhǔn)確性研究
R語言貝葉斯線性回歸和多元線性回歸構(gòu)建工資預(yù)測模型
R語言貝葉斯推斷與MCMC:實(shí)現(xiàn)Metropolis-Hastings 采樣算法示例
R語言stan進(jìn)行基于貝葉斯推斷的回歸模型
R語言中RStan貝葉斯層次模型分析示例
R語言使用Metropolis-Hastings采樣算法自適應(yīng)貝葉斯估計(jì)與可視化
R語言隨機(jī)搜索變量選擇SSVS估計(jì)貝葉斯向量自回歸(BVAR)模型
WinBUGS對多元隨機(jī)波動(dòng)率模型:貝葉斯估計(jì)與模型比較
R語言實(shí)現(xiàn)MCMC中的Metropolis–Hastings算法與吉布斯采樣
R語言貝葉斯推斷與MCMC:實(shí)現(xiàn)Metropolis-Hastings 采樣算法示例
R語言使用Metropolis-Hastings采樣算法自適應(yīng)貝葉斯估計(jì)與可視化
視頻:R語言中的Stan概率編程MCMC采樣的貝葉斯模型
R語言MCMC:Metropolis-Hastings采樣用于回歸的貝葉斯估計(jì)R語言用lme4多層次(混合效應(yīng))廣義線性模型(GLM),邏輯回歸分析教育留級調(diào)查數(shù)據(jù)
R語言隨機(jī)森林RandomForest、邏輯回歸Logisitc預(yù)測心臟病數(shù)據(jù)和可視化分析
R語言基于Bagging分類的邏輯回歸(Logistic Regression)、決策樹、森林分析心臟病患者
R語言用主成分PCA、?邏輯回歸、決策樹、隨機(jī)森林分析心臟病數(shù)據(jù)并高維可視化


R語言泰坦尼克號隨機(jī)森林模型案例數(shù)據(jù)分析|附代碼數(shù)據(jù)的評論 (共 條)

分享到微博請遵守國家法律
高阳县| 海晏县| 宜阳县| 台南市| 隆尧县| 白城市| 杭锦旗| 望谟县| 许昌县| 中山市| 湖南省| 确山县| 玉林市| 卢龙县| 承德县| 乌兰浩特市| 修文县| 白朗县| 新绛县| 井研县| 阿拉善右旗| 宁海县| 平利县| 城口县| 微博| 贵定县| 乡城县| 金川县| 青浦区| 溆浦县| 蕉岭县| 灌南县| 海林市| 祁东县| 永登县| 濮阳市| 河西区| 阳新县| 达孜县| 通海县| 遂昌县|