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

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

拓端tecdat|R語(yǔ)言用主成分PCA、 邏輯回歸、決策樹(shù)、隨機(jī)森林分析心臟病數(shù)據(jù)并高維可視

2021-07-21 21:07 作者:拓端tecdat  | 我要投稿

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

原文出處:拓端數(shù)據(jù)部落公眾號(hào)

在討論分類時(shí),我們經(jīng)常分析二維數(shù)據(jù)(一個(gè)自變量,一個(gè)因變量)。但在實(shí)際生活中,有更多的觀察值,更多的解釋變量。隨著兩個(gè)以上的解釋變量,它開(kāi)始變得更加復(fù)雜的可視化。

數(shù)據(jù)

我們使用心臟病數(shù)據(jù),預(yù)測(cè)急診病人的心肌梗死,包含變量:

  1. 心臟指數(shù)

  2. 心搏量指數(shù)

  3. 舒張壓

  4. 肺動(dòng)脈壓

  5. 心室壓力

  6. 肺阻力

  7. 是否存活

其中我們有急診室的觀察結(jié)果,對(duì)于心肌梗塞,我們想了解誰(shuí)存活下來(lái)了,以得到一個(gè)預(yù)測(cè)模型。但是在運(yùn)行一些分類器之前,我們先把我們的數(shù)據(jù)可視化。

主成分PCA

由于我們有7個(gè)解釋變量和我們的因變量(生存或死亡),我們可以去做一個(gè)PCA。


  1. acp=PCA(X)

添加死亡生存變量,就把它當(dāng)作數(shù)字0,1變量。?

是否存活= 是否存活=="存活")*1

結(jié)果不錯(cuò),我們看到因變量與部分自變量是同向的。也可以可視化樣本和類別

plot(cp ?)

我們可以在這里推導(dǎo)出一個(gè)不錯(cuò)的分類器。至少,在前兩個(gè)成分上投影時(shí),我們可以看到我們的類別。
現(xiàn)在,我們不能在前兩個(gè)主成分上得到一個(gè)分類器并將其可視化嗎? ???因?yàn)镻CA是簡(jiǎn)單的基于正交投影的,所以我們可以(這里的數(shù)據(jù)是標(biāo)準(zhǔn)化的)。給定前兩個(gè)分量平面上的兩個(gè)坐標(biāo),給定我們的變換矩陣、歸一化分量和一個(gè)分類器(這里是基于邏輯回歸),我們可以回到原始空間,并對(duì)新數(shù)據(jù)進(jìn)行分類。

  1. PCA(X,ncp=ncol(X))

  2. function(d1,d2,Mat,reg){

  3. z=Mat %*% c(d1,d2,rep(0,ncol(X)-2))

  4. newd=data.frame(t(z*s+m))

  5. pred(reg, newd ?}

?邏輯回歸

現(xiàn)在考慮一個(gè)邏輯回歸。只是為了簡(jiǎn)化(去掉非顯著變量),我們使用一個(gè)逐步回歸的程序來(lái)簡(jiǎn)化模型。


  1. reg_tot=step(glm(是否存活~. ,

  2. family=binomial))

可視化等概率線(如個(gè)人有50%的生存機(jī)會(huì))使用以下


  1. xgrid=seq(-5,5,length=25 )

  2. ygrid=seq(-5,5,length=25 )

  3. zgrid=ter(xgrid,ygrid,p)

然后,我們?cè)谥暗膱D形上添加一條等高線

  1. PCA(data,quali.sup=8 )


  2. contour( zgrid )

結(jié)果不差,但我們應(yīng)該可以做得更好。如果我們把所有的變量都保留在這里(即使它們不重要),會(huì)怎么樣呢?

  1. glm(是否存活~.,

  2. family=binomial)


  3. contour(xgrid,ygrid,zgrid )

在現(xiàn)實(shí)生活中,要想真正說(shuō)出我們的分類器的一些相關(guān)信息,我們應(yīng)該在觀測(cè)值的一個(gè)子集上擬合我們的模型,然后在另一個(gè)子集上測(cè)試它。在這里,我們的目標(biāo)更多的是在某個(gè)投影空間上得到一個(gè)函數(shù)來(lái)可視化我們的分類。

決策樹(shù)

默認(rèn)分類樹(shù)

> plot( re,type=4,extra=6)

我們可以在此更改選項(xiàng),例如每個(gè)節(jié)點(diǎn)的最小觀察數(shù)

  1. rpart(factor(是否存活)~ ,

  2. + ? ? ? control=rpart.control(minsplit=10))

或者

  1. rpart(

  2. + ? ? ? ?control=rpart.control(minsplit=5))

要將該分類可視化,獲得前兩個(gè)成分的投影


  1. > p=function(d1,d2) pred2(d1,d2 )


  2. > zgrid=Outer(xgrid,ygrid,p)

  3. PCA( ?quali.sup=8,graph=TRUE)

  4. > image(xgrid,ygrid,zgrid )

  5. > contour(xgrid,ygrid,zgrid,add=TRUE,levels=.5)

也可以考慮這種情況

rpart( control=rpart.control(minsplit=5))

最后,我們還可以生成更多的樹(shù),通過(guò)采樣獲得。這就是bagging的概念:我們boostrap?觀測(cè)值,生長(zhǎng)一些樹(shù),然后,我們將預(yù)測(cè)值進(jìn)行匯總。在網(wǎng)格上


  1. > for(i in 1:1200){

  2. + indice = sample(1:nrow(MYOCARDE),

  3. + arbre_b = rpart(factor(是否存活)~.,

  4. +}

  5. >Zgrid = Z/1200

可視化

隨機(jī)森林

最后,可以使用隨機(jī)森林算法。

  1. > fore= randomForest(factor(是否存活)~.,

  2. > pF=function(d1,d2) pred2(d1,d2,Minv,fore)

  3. > zgridF=Outer(xgrid,ygrid,pF)

  4. PCA(data,.sup=8,graph=TRUE)

  5. > image(xgrid,ygrid,Zgrid,add=TRUE,

  6. > contour(xgrid,ygrid,zgridF,

最受歡迎的見(jiàn)解

1.從決策樹(shù)模型看員工為什么離職

2.R語(yǔ)言基于樹(shù)的方法:決策樹(shù),隨機(jī)森林

3.python中使用scikit-learn和pandas決策樹(shù)

4.機(jī)器學(xué)習(xí):在SAS中運(yùn)行隨機(jī)森林?jǐn)?shù)據(jù)分析報(bào)告

5.R語(yǔ)言用隨機(jī)森林和文本挖掘提高航空公司客戶滿意度

6.機(jī)器學(xué)習(xí)助推快時(shí)尚精準(zhǔn)銷售時(shí)間序列

7.用機(jī)器學(xué)習(xí)識(shí)別不斷變化的股市狀況——隱馬爾可夫模型的應(yīng)用

8.python機(jī)器學(xué)習(xí):推薦系統(tǒng)實(shí)現(xiàn)(以矩陣分解來(lái)協(xié)同過(guò)濾)

9.python中用pytorch機(jī)器學(xué)習(xí)分類預(yù)測(cè)銀行客戶流失


拓端tecdat|R語(yǔ)言用主成分PCA、 邏輯回歸、決策樹(shù)、隨機(jī)森林分析心臟病數(shù)據(jù)并高維可視的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
龙游县| 平山县| 商城县| 茶陵县| 英山县| 宜兴市| 曲靖市| 临桂县| 南和县| 渭源县| 称多县| 湘乡市| 米脂县| 巴南区| 北川| 易门县| 南郑县| 施秉县| 清新县| 武定县| 郑州市| 皋兰县| 奉节县| 喀喇沁旗| 壶关县| 白河县| 寿宁县| 井研县| 信丰县| 调兵山市| 扶绥县| 乳源| 东光县| 康平县| 湛江市| 凤庆县| 晋州市| 临湘市| 灵寿县| 萍乡市| 黎川县|