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

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

數(shù)據(jù)分享|R語言邏輯回歸、線性判別分析LDA、GAM、MARS、KNN、QDA、決策樹、隨機(jī)森林、

2023-09-14 17:29 作者:拓端tecdat  | 我要投稿

全文鏈接:http://tecdat.cn/?p=27384

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

在本文中,數(shù)據(jù)包含有關(guān)葡萄牙“Vinho Verde”葡萄酒的信息

介紹

該數(shù)據(jù)集(查看文末了解數(shù)據(jù)獲取方式)有1599個(gè)觀測值和12個(gè)變量,分別是固定酸度、揮發(fā)性酸度、檸檬酸、殘?zhí)?、氯化物、游離二氧化硫、總二氧化硫、密度、pH值、硫酸鹽、酒精和質(zhì)量。固定酸度、揮發(fā)性酸度、檸檬酸、殘?zhí)?、氯化物、游離二氧化硫、總二氧化硫、密度、pH、硫酸鹽和酒精是自變量并且是連續(xù)的。質(zhì)量是因變量,根據(jù) 0 到 10 的分?jǐn)?shù)來衡量。

探索性分析

總共有 855 款葡萄酒被歸類為“好”品質(zhì),744 款葡萄酒被歸類為“差”品質(zhì)。固定酸度、揮發(fā)性酸度、檸檬酸、氯化物、游離二氧化硫、總二氧化硫、密度、硫酸鹽和酒精度與葡萄酒質(zhì)量顯著相關(guān)( t 檢驗(yàn)的 P 值 < 0.05),這表明了重要的預(yù)測因子。我們還構(gòu)建了密度圖來探索 11 個(gè)連續(xù)變量在“差”和“好”葡萄酒質(zhì)量上的分布。從圖中可以看出,品質(zhì)優(yōu)良的葡萄酒在PH方面沒有差異,而不同類型的葡萄酒在其他變量上存在差異,這與t檢驗(yàn)結(jié)果一致。

na.oit()?%>muate(qal=?ase_hen(ality>5?~good",?quaity?<=5?~?"poor"))?%>%muate(qua=?s.fatrqual))?%>%dpeme1?<-?rsparentTme(trans?=?.4)plot?=?"density",?pch?=?"|",auto.key?=?list(columns?=?2))

圖 1. 葡萄酒品質(zhì)和預(yù)測特征之間的描述圖。
表 1. 優(yōu)質(zhì)和劣質(zhì)葡萄酒的基本特征。

#?在表1中創(chuàng)建一個(gè)我們想要的變量b1?<-?CeatTableOe(vars??litars,?straa?=?’qual’?da?winetab

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

R語言主成分分析(PCA)葡萄酒可視化:主成分得分散點(diǎn)圖和載荷圖

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

01

02

03

04

模型

我們隨機(jī)選擇 70% 的觀測值作為訓(xùn)練數(shù)據(jù),其余的作為測試數(shù)據(jù)。所有 11 個(gè)預(yù)測變量都被納入分析。我們使用線性方法、非線性方法、樹方法和支持向量機(jī)來預(yù)測葡萄酒質(zhì)量的分類。對(duì)于線性方法,我們訓(xùn)練(懲罰)邏輯回歸模型和線性判別分析(LDA)。邏輯回歸的假設(shè)包括相互獨(dú)立的觀察結(jié)果以及自變量和對(duì)數(shù)幾率的線性關(guān)系。LDA 和 QDA 假設(shè)具有正態(tài)分布的特征,即預(yù)測變量對(duì)于“好”和“差”的葡萄酒質(zhì)量都是正態(tài)分布的。對(duì)于非線性模型,我們進(jìn)行了廣義加性模型(GAM)、多元自適應(yīng)回歸樣條(MARS)、KNN模型和二次判別分析(QDA)。對(duì)于樹模型,我們進(jìn)行了分類樹和隨機(jī)森林模型。還執(zhí)行了具有線性和徑向內(nèi)核的 SVM。我們計(jì)算了模型選擇的 ROC 和準(zhǔn)確度,并調(diào)查了變量的重要性。10 折交叉驗(yàn)證 (CV) 用于所有模型。

inTrai?<-?cateatPariti(y??winequal,?p?=?0.7,?lit?=FASE)traiData?<-?wine[inexTr,?teDt?<wi[-idxTrain,]

線性模型 多元邏輯回歸顯示,在 11 個(gè)預(yù)測因子中,揮發(fā)性酸度、檸檬酸、游離二氧化硫、總二氧化硫、硫酸鹽和酒精與葡萄酒質(zhì)量顯著相關(guān)(P 值 < 0.05),解釋了總方差的 25.1%。酒質(zhì)。將該模型應(yīng)用于測試數(shù)據(jù)時(shí),準(zhǔn)確度為 0.75(95%CI:0.71-0.79),ROC 為 0.818,表明數(shù)據(jù)擬合較好。在進(jìn)行懲罰性邏輯回歸時(shí),我們發(fā)現(xiàn)最大化ROC時(shí),最佳調(diào)優(yōu)參數(shù)為alpha=1和lambda=0.00086,準(zhǔn)確度為0.75(95%CI:0.71-0.79),ROC也為0.818。由于 lambda 接近于零且 ROC 與邏輯回歸模型相同,因此懲罰相對(duì)較小,

但是,由于邏輯回歸要求自變量之間存在很少或沒有多重共線性,因此模型可能會(huì)受到 11 個(gè)預(yù)測變量之間的共線性(如果有的話)的干擾。至于LDA,將模型應(yīng)用于測試數(shù)據(jù)時(shí),ROC為0.819,準(zhǔn)確率為0.762(95%CI:0.72-0.80)。預(yù)測葡萄酒品質(zhì)的最重要變量是酒精度、揮發(fā)性酸度和硫酸鹽。與邏輯回歸模型相比,LDA 在滿足正常假設(shè)的情況下,在樣本量較小或類別分離良好的情況下更有幫助。

###?邏輯回歸cl?-?tranControlmehod?=cv"?number??10,summayFunio?=?TRUE)set.seed(1)moel.gl<-?train(x?=?tainDaa?%>%?dpyr::selct(-ual),y?=?trainDaa$qualmetod?"glm",metic?=?OC",tContrl?=?crl#?檢查預(yù)測因素的重要性summary(odel.m)

#?建立混淆矩陣tetred.prb?<-?rdct(mod.gl,?newdat?=?tstDattye?=?"robtest.ped?<-?rep("good",?length(pred.prconfusionMatrix(data?=?as.factor(test.pred),

#?繪制測試ROC圖oc.l?<-?roc(testa$al,?es.pr.rob$god)

##?測試誤差和訓(xùn)練誤差er.st.?<-?mean(tett$qul!=?tt.pred)tranped.obgl?<-pric(moel.lmnewda=?taiDaa,type?=?"robmoe.ln?<-tai(xtraDa?%>%?dlyr:seec-qal),y?=?traDmethd?=?"met",tueGid?=?lGrid,mtc?=?"RO",trontrol??ctl)plotodel.gl,?xTras?=uction()?lg(x)

#選擇最佳參數(shù)mol.mn$bestune

#?混淆矩陣tes.red2?<-?rp"good"?ngth(test.ed.prob2$good))tst.red2[tespre.prob2$good?<?0.5]?<-?"poorconuionMatridata?=?as.fcto(test.prd2),

非線性模型 在 GAM 模型中,只有揮發(fā)性酸度的自由度等于 1,表明線性關(guān)聯(lián),而對(duì)所有其他 10 個(gè)變量應(yīng)用平滑樣條。

結(jié)果表明,酒精、檸檬酸、殘?zhí)?、硫酸鹽、固定酸度、揮發(fā)性酸度、氯化物和總二氧化硫是顯著的預(yù)測因子(P值<0.05)。

總的來說,這些變量解釋了葡萄酒質(zhì)量總變化的 39.1%。使用測試數(shù)據(jù)的混淆矩陣顯示,GAM 的準(zhǔn)確度為 0.76(95%CI:0.72-0.80),ROC 為 0.829。

MARS 模型表明,在最大化 ROC 時(shí),我們?cè)?11 個(gè)預(yù)測變量中包含了 5 個(gè)項(xiàng),其中 nprune 等于 5,度數(shù)為 2。這些預(yù)測變量和鉸鏈函數(shù)總共解釋了總方差的 32.2%。根據(jù) MARS 輸出,三個(gè)最重要的預(yù)測因子是總二氧化硫、酒精和硫酸鹽。

將 MARS 模型應(yīng)用于測試數(shù)據(jù)時(shí),準(zhǔn)確度為 0.75(95%CI:0.72,0.80),ROC 為 0.823。我們還執(zhí)行了 KNN 模型進(jìn)行分類。當(dāng) k 等于 22 時(shí),ROC 最大化。KNNmodel 的準(zhǔn)確度為 0.63(95%CI:0.59-0.68),ROC 為 0.672。

QDA模型顯示ROC為0.784,準(zhǔn)確率為0.71(95%CI:0.66-0.75)。預(yù)測葡萄酒質(zhì)量的最重要變量是酒精、揮發(fā)性酸度和硫酸鹽。59-0.68),ROC 為 0.672。QDA模型顯示ROC為0.784,準(zhǔn)確率為0.71(95%CI:0.66-0.75)。

預(yù)測葡萄酒質(zhì)量的最重要變量是酒精、揮發(fā)性酸度和硫酸鹽。59-0.68),ROC 為 0.672。QDA模型顯示ROC為0.784,準(zhǔn)確率為0.71(95%CI:0.66-0.75)。預(yù)測葡萄酒質(zhì)量的最重要變量是酒精、揮發(fā)性酸度和硫酸鹽。

GAM 和 MARS 的優(yōu)點(diǎn)是這兩個(gè)模型都是非參數(shù)模型,并且能夠處理高度復(fù)雜的非線性關(guān)系。具體來說,MARS 模型可以在模型中包含潛在的交互作用。然而,由于模型的復(fù)雜性、耗時(shí)的計(jì)算和高度的過擬合傾向是這兩種模型的局限性。對(duì)于 KNN 模型,當(dāng) k 很大時(shí),預(yù)測可能不準(zhǔn)確。

###?GAMse.see(1)md.gam<-?ran(x?=trainDta?%%dplr::slect(-qal),y?=?traiat$ual,thod?=?"am",metri?=?"RO",trCotrol?=?ctrl)moel.gm$finlMdel

summary(mel.gam)

#?建立混淆矩陣test.pr.pob3?-?prdict(mod.ga?nwdata?=tstData,tye?=?"prb")testped3?-?rep"good"?legt(test.predpob3$goo))testprd3[test.predprob3good?<?0.5]?<-?"pooreferetv?=?"good")

model.mars$finalModel

vpmodl.rs$inlodel)

#?繪制測試ROC圖ocmas?<-?roctestataqua,?tes.pred.rob4god)##?Stting?level:?conrol?=?god,?case=?poor##?Settig?diectio:?cntrols>?caseplot(ro.mars?legac.axes?=?TRE,?prin.auc=?RUE)plot(soothroc.mars),?co?=?4,?ad?=TRUE)

errr.tria.mas?<-man(tainat$qul?!?trai.red.ars)###?KNNGrid?<?epa.gri(k?seq(from?=?1,?to?=?40,?by?=?1))seted(1fknnrainqual?~.,dta?=?trnData,mthd?="knn"metrrid?=?kid)ggplot(fitkn

#?建立混淆矩陣ts.re.po7?<?prdi(ft.kn,?ewdt?=?estDaatype?=?"prb"

###?QDAseteed1)%>%?pyr:c-ual),y=?trataqethod?"d"mric?=?"OC",tContol?=ctl)#?建立混淆矩陣tet.pprob?<-pedct(mol.da,nedaa?=?teDta,te?=?"pb")testred6<-?rep(o",?leng(est.ped.pob6$goo))

樹方法

基于分類樹,最大化AUC時(shí)最終的樹大小為41。測試錯(cuò)誤率為 0.24,ROC 為 0.809。此分類樹的準(zhǔn)確度為 0.76(95%CI:0.72-0.80)。我們還進(jìn)行了隨機(jī)森林方法來研究變量的重要性。因此,酒精是最重要的變量,其次是硫酸鹽、揮發(fā)性酸度、總二氧化硫、密度、氯化物、固定酸度、檸檬酸、游離二氧化硫和殘?zhí)恰H 是最不重要的變量。對(duì)于隨機(jī)森林模型,測試錯(cuò)誤率為 0.163,準(zhǔn)確率為 0.84(95%CI:0.80-0.87),ROC 為 0.900。樹方法的一個(gè)潛在限制是它們對(duì)數(shù)據(jù)的變化很敏感,即數(shù)據(jù)的微小變化可能引起分類樹的較大變化。

#?分類ctr?<-?tintol(meod?="cv",?number?=?10,smmryFuton=?twoClassSmaet.se(1rart_grid?=?a.fra(cp?=?exp(eq(10,-,?len?=0)))clsste?=?traqua~.,?rainDta,metho?="rprttueGrid?=?patid,trCtrl??cr)ggt(class.tee,highight?=TRE)

##?計(jì)算測試誤差rpartpred?=?icla.te?edta?=testata,?ye?=?"aw)te.ero.sree?=?mean(testa$a?!=rartpre)rprred_trin??reic(ss.tre,newdta?=?raiata,?tye??"raw")#?建立混淆矩陣teste.pob8?<-rdic(cste,?edata?=tstData,pe?=?"po"tet.pd8?-?rpgod"?legthtetred.rb8d))

#?繪制測試ROC圖ro.r?<-oc(testaual,?tstedrob$od)pot(rc.ctreegy.axes??TU?pit.a?=?TRE)plo(ooth(c.tre,?col=?4,?ad?=?TRE

#?隨機(jī)森林和變量重要性ctl?<traontr(mthod=?"cv,?numbr?=?10,clasPos?=?RUEoClssSummry)rf.grid?-?xpa.gr(mt?=?1:10,spltrule?"gini"min.nd.sie?=seq(from?=?1,to??12,?by?=?2))se.sed(1)rf.fit?<-?inqualmthd=?"ranger",meric?=?"ROC",?=?ctrlgglt(rf.it,hiliht??TRE)

scle.ermutatin.iportace??TRU)barplt(sort(rangr::imoranc(random

支持向量機(jī)

我們使用帶有線性核的 SVM,并調(diào)整了成本函數(shù)。我們發(fā)現(xiàn)具有最大化 ROChad 成本的模型 = 0.59078。該模型的 ROC 為 0.816,準(zhǔn)確度為 0.75(測試誤差為 0.25)(95%CI:0.71-0.79)。質(zhì)量預(yù)測最重要的變量是酒精;揮發(fā)性酸度和總二氧化硫也是比較重要的變量。如果真實(shí)邊界是非線性的,則具有徑向核的 SVM 性能更好。

st.seed(svl.fi?<-?tain(qual~?.?,data?=?trainDatamehod=?"mLar2",tueGri?=?data.frae(cos?=?ep(seq(-25,ln?=?0))

##?帶徑向核的SVMsvmr.grid??epand.gid(C?=?epseq(1,4,le=10)),iga?=?expsq(8,len=10)))svmr.it<-?tan(qual?~?.,da?=?taiDataRialSigma",preProcess=?c("cer"?"scale"),tunnrol?=?c)

模型比較

模型建立后,我們根據(jù)所有模型的訓(xùn)練和測試性能進(jìn)行模型比較。下表顯示了所有模型的交叉驗(yàn)證分類錯(cuò)誤率和 ROC。結(jié)果中,隨機(jī)森林模型的 AUC 值最大,而 KNN 最小。因此,我們選擇隨機(jī)森林模型作為我們數(shù)據(jù)的最佳預(yù)測分類模型?;陔S機(jī)森林模型,酒精、硫酸鹽、揮發(fā)性酸度、總二氧化硫和密度是幫助我們預(yù)測葡萄酒質(zhì)量分類的前 5 個(gè)重要預(yù)測因子。由于酒精、硫酸鹽和揮發(fā)性酸度等因素可能決定葡萄酒的風(fēng)味和口感,所以這樣的發(fā)現(xiàn)符合我們的預(yù)期。在查看每個(gè)模型的總結(jié)時(shí),我們意識(shí)到KNN模型的AUC值最低,測試分類錯(cuò)誤率最大,為0.367。其他九個(gè)模型的 AUC 值接近,約為 82%。

rsam?=?rsmes(list(summary(resamp)

comrin?=?sumaryes)$satitics$ROr_quare??smary(rsamp)saisis$sqrekntr::ableomris[,1:6])

bpot(remp?meic?=?"ROC")

f<-?datafram(dl_Name,?TainError,Test_Eror,?Tes_RC)knir::abe(df)

結(jié)論

模型構(gòu)建過程表明,在訓(xùn)練數(shù)據(jù)集中,酒精、硫酸鹽、揮發(fā)性酸度、總二氧化硫和密度是葡萄酒質(zhì)量分類的前 5 個(gè)重要預(yù)測因子。我們選擇了隨機(jī)森林模型,因?yàn)樗?AUC 值最大,分類錯(cuò)誤率最低。該模型在測試數(shù)據(jù)集中也表現(xiàn)良好。因此,這種隨機(jī)森林模型是葡萄酒品質(zhì)分類的有效方法。

數(shù)據(jù)獲取

在下面公眾號(hào)后臺(tái)回復(fù)“葡萄酒數(shù)****據(jù)”,可獲取完整數(shù)據(jù)。

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

獲取全文完整資料。

本文選自《R語言懲罰邏輯回歸、線性判別分析LDA、廣義加性模型GAM、多元自適應(yīng)回歸樣條MARS、KNN、二次判別分析QDA、決策樹、隨機(jī)森林、支持向量機(jī)SVM分類優(yōu)質(zhì)劣質(zhì)葡萄酒十折交叉驗(yàn)證和ROC可視化》。

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

R語言貝葉斯廣義線性混合(多層次/水平/嵌套)模型GLMM、邏輯回歸分析教育留級(jí)影響因素?cái)?shù)據(jù)
邏輯回歸Logistic模型原理R語言分類預(yù)測冠心病風(fēng)險(xiǎn)實(shí)例
數(shù)據(jù)分享|用加性多元線性回歸、隨機(jī)森林、彈性網(wǎng)絡(luò)模型預(yù)測鮑魚年齡和可視化
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語言中對(duì)LASSO回歸,Ridge嶺回歸和彈性網(wǎng)絡(luò)Elastic Net模型實(shí)現(xiàn)
r語言中對(duì)LASSO回歸,Ridge嶺回歸和Elastic Net模型實(shí)現(xiàn)
R語言實(shí)現(xiàn)LASSO回歸——自己編寫LASSO回歸算法
R使用LASSO回歸預(yù)測股票收益
python使用LASSO回歸預(yù)測股票收益


數(shù)據(jù)分享|R語言邏輯回歸、線性判別分析LDA、GAM、MARS、KNN、QDA、決策樹、隨機(jī)森林、的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
探索| 平遥县| 扎囊县| 乐至县| 游戏| 连南| 鄢陵县| 钦州市| 黄骅市| 登封市| 马边| 新巴尔虎左旗| 梁平县| 盱眙县| 吴忠市| 雷州市| 苏尼特左旗| 莲花县| 肃北| 波密县| 寿宁县| 满洲里市| 西乌| 云南省| 革吉县| 大埔县| 恩施市| 涡阳县| 梧州市| 秦安县| 宁海县| 濉溪县| 外汇| 蓬溪县| 灵石县| 镇巴县| 随州市| 忻州市| 香河县| 古田县| 辽阳县|