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

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

【視頻】R語言邏輯回歸(Logistic回歸)模型分類預(yù)測病人冠心病風(fēng)險|數(shù)據(jù)分享

2022-07-10 11:12 作者:拓端tecdat  | 我要投稿

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

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

相關(guān)視頻:R語言邏輯回歸(Logistic回歸)模型分類預(yù)測病人冠心病風(fēng)險

邏輯回歸Logistic模型原理和R語言分類預(yù)測冠心病風(fēng)險實例

,時長06:48

本文介紹了邏輯回歸并在R語言中用邏輯回歸(Logistic回歸)模型分類預(yù)測病人冠心病風(fēng)險數(shù)據(jù)查看文末了解數(shù)據(jù)獲取方式

邏輯回歸是機(jī)器學(xué)習(xí)借用的另一種統(tǒng)計分析方法。當(dāng)我們的因變量是二分或二元時使用它。

它只是表示一個只有 2 個輸出的變量,例如,預(yù)測拋硬幣(正面/反面)的情況。結(jié)果是二進(jìn)制的:如果硬幣是正面,則為 1,如果硬幣為反面,則為 0。這種回歸技術(shù)類似于線性回歸,可用于預(yù)測分類問題的概率。

為什么我們使用邏輯回歸而不是線性回歸?

我們現(xiàn)在知道它僅在我們的因變量是二元的而在線性回歸中該因變量是連續(xù)時使用。

現(xiàn)在,如果我們使用線性回歸來找到旨在最小化預(yù)測值和實際值之間距離的最佳擬合線,這條線將是這樣的:

這里的閾值為 0.5,這意味著如果 h(x) 的值大于 0.5,則我們預(yù)測為惡性腫瘤(1),如果小于 0.5,則我們預(yù)測為良性腫瘤(0)。

這里一切似乎都很好,但現(xiàn)在讓我們稍微改變一下,我們在數(shù)據(jù)集中添加一些異常值,現(xiàn)在這條最佳擬合線將移動到該點。像這樣:

你看到這里有什么問題嗎?藍(lán)線代表新閾值,此處可能為 0.2。為了保持我們的預(yù)測正確,我們不得不降低我們的閾值。因此,我們可以說線性回歸容易出現(xiàn)異常值。現(xiàn)在如果預(yù)測值大于 0.2,那么只有這個回歸會給出正確的輸出。

線性回歸的另一個問題是預(yù)測值可能超出范圍。我們知道概率可以在 0 和 1 之間,但是如果我們使用線性回歸,這個概率可能會超過 1 或低于 0。

Sigmoid函數(shù)

為此,我們最好有一個函數(shù)將任何實際值映射到 0 和 1 之間的區(qū)間內(nèi)的值。您一定想知道邏輯回歸如何將線性回歸的輸出壓縮在 0 和 1 之間。

Sigmoid 函數(shù)是一種數(shù)學(xué)函數(shù),用于將預(yù)測值映射到概率。該函數(shù)能夠?qū)⑷魏螌嶋H值映射到 0 和 1 范圍內(nèi)的另一個值。?

規(guī)則是邏輯回歸的值必須在 0 和 1 之間。由于它不能超過值 1 的限制,在圖形上它會形成一條“S”形的曲線。這是識別 Sigmoid 函數(shù)或邏輯函數(shù)的簡單方法。

關(guān)于邏輯回歸,使用的概念是閾值。閾值有助于定義 0 或 1 的概率。例如,高于閾值的值趨于 1,低于閾值的值趨于 0。

這就是所謂的 sigmoid 函數(shù),它是這樣定義的:

最遠(yuǎn)離 0 的 x值?映射到接近 0 或接近 1 的 y值。x接近 0 的值??將是我們算法中概率的一個很好的近似值。然后我們可以選擇一個閾值并將概率轉(zhuǎn)換為 0 或 1 預(yù)測。

Sigmoid 是邏輯回歸的激活函數(shù)。

成本函數(shù)

成本函數(shù)是用于計算誤差的數(shù)學(xué)公式,它是我們的預(yù)測值和實際值之間的差異。它只是衡量模型在估計 x 和 y 之間關(guān)系的能力方面的錯誤程度。當(dāng)我們考慮成本函數(shù)時,首先想到的是經(jīng)典的平方誤差函數(shù)。?

m??- 示例數(shù),

x(i)??- 第i個示例?的特征向量?,

y(i)??- 第i個示例?的實際值?,

θ?? - 參數(shù)向量。?

如果我們有一個線性激活函數(shù)h θ?(x)?那就沒問題了。但是使用我們的新 sigmoid 函數(shù),我們沒有平方誤差的正二階導(dǎo)數(shù)。這意味著它是非凸函數(shù)。我們不想陷入局部最優(yōu),因此我們定義了一個新的成本函數(shù):?

這稱為交叉熵成本。如果您仔細(xì)觀察,您可能會注意到,當(dāng)預(yù)測值接近實際值時,0 和 1 實際值的成本都將接近于零。

讓我們看看當(dāng) y=1 和 y=0 時成本函數(shù)的圖形是什么

這里的藍(lán)線代表1類(y=1),代價函數(shù)的右項會消失。現(xiàn)在,如果預(yù)測概率接近 1,那么我們的損失會更小,當(dāng)概率接近 0 時,我們的損失函數(shù)會達(dá)到無窮大。

紅線代表 0 類(y=0),左項將在我們的成本函數(shù)中消失,如果預(yù)測概率接近 0,那么我們的損失函數(shù)會更小,但如果我們的概率接近 1,那么我們的損失函數(shù)會達(dá)到無窮大。

此成本函數(shù)也稱為對數(shù)損失。它還確保隨著正確答案的概率最大化,錯誤答案的概率最小化。此成本函數(shù)的值越低,精度越高。

如果我們結(jié)合這兩個圖,我們將得到一個只有 1 個局部最小值的凸圖,現(xiàn)在在這里使用梯度下降很容易。

梯度下降優(yōu)化

我們將嘗試了解如何利用梯度下降來計算最小成本。

梯度下降以這樣一種方式改變我們的權(quán)重值,它總是收斂到最小點,或者我們也可以說,它旨在找到最小化模型損失函數(shù)的最優(yōu)權(quán)重。它是一種迭代方法,通過計算隨機(jī)點的斜率然后沿相反方向移動來找到函數(shù)的最小值。

R語言邏輯回歸(Logistic回歸)模型分類預(yù)測病人冠心病風(fēng)險

本文的目的是完成一個邏輯回歸分析。使你對分析步驟和思維過程有一個基本概念。

  1. library(tidyverse)

  2. library(broom)

這些數(shù)據(jù)來自一項正在進(jìn)行的對鎮(zhèn)居民的心血管研究。其目的是預(yù)測一個病人是否有未來10年的冠心病風(fēng)險。該數(shù)據(jù)集包括以下內(nèi)容。

  • 男性:0=女性;1=男性

  • 年齡。

  • 教育。1 = 高中以下;2 = 高中;3 = 大學(xué)或職業(yè)學(xué)校;4 = 大學(xué)以上

  • 當(dāng)前是否吸煙。0=不吸煙;1=吸煙者

  • cigsPerDay: 每天抽的煙數(shù)量(估計平均)。

  • BPMeds: 0 = 不服用降壓藥;1 = 正在服用降壓藥

  • 中風(fēng)。0 = 家族史中不存在中風(fēng);1 = 家族史中存在中風(fēng)

  • 高血壓。0 =高血壓在家族史上不流行;1 =高血壓在家族史上流行

  • 糖尿?。? = 沒有;1 = 有

  • totChol: 總膽固醇(mgdL)

  • sysBP: 收縮壓(mmHg)

  • diaBP: 舒張壓(mmHg)

  • BMI: 體重指數(shù)

  • 心率

  • 葡萄糖:總葡萄糖mgdL

  • TenYearCHD: 0 = 患者沒有未來10年冠心病的風(fēng)險; 1 = 患者有未來10年冠心病的風(fēng)險

加載并準(zhǔn)備數(shù)據(jù)

  1. read_csv("fraingha")?%>%

  2. ??drop_na()?%>%?#刪除具有缺失值的觀察值

  3. ??ageCent?=?age?-?mean(age),?

  4. ??totCholCent?=?totChol?-?mean(totChol),

擬合邏輯回歸模型

  1. glm(TenYearCHD?~?age?+??Smoker?+??CholCent,?

  2. ??????????????data?=?data,?family?=?binomial)

預(yù)測

對于新病人

  1. ?data_frame(ageCent?=?(60?-?49.552),?

  2. ?????????????????totCholCent?=?(263?-?236.848),

預(yù)測對數(shù)幾率

predict(risk_m,?x0)

預(yù)測概率

根據(jù)這個概率,你是否認(rèn)為這個病人在未來10年內(nèi)有患冠心病的高風(fēng)險?為什么?

risk

混淆矩陣

  1. risk_m?%>%

  2. ??group\_by(TenYearCHD,?risk\_predict)?%>%

  3. ??kable(format="markdown")

mutate(?predict?=?if_else(.fitted?>?threshold,?"1:?Yes",?"0:?No"))

有多大比例的觀察結(jié)果被錯誤分類?
依靠混淆矩陣來評估模型的準(zhǔn)確性有什么缺點?

ROC曲線

  1. ggplot(risk\_m\_aug,?

  2. ??oc(n.cuts?=?10,?labelround?=?3)?+?

  3. ??geom_abline(intercept?=?0)?+

auc(roc?)$AUC

一位醫(yī)生計劃使用你的模型的結(jié)果來幫助選擇病人參加一個新的心臟病預(yù)防計劃。她問你哪個閾值最適合為這個項目選擇病人。根據(jù)ROC曲線,你會向醫(yī)生推薦哪個閾值?為什么?

假設(shè)

為什么我們不繪制原始?xì)埐睿?/h1>

  1. ggplot(data?=?risk?aes(x?=?.fitted,?y?=?.resid))?+

  2. ??labs(x?=?"預(yù)測值",?y?=?"原始?xì)埐?#34;)

分級的殘差圖

  1. ?plot(x?=??fitted,?y?=??resid,

  2. ????????????????xlab?=?"預(yù)測概率",?

  3. ????????????????main?=?"分級后的殘值與預(yù)測值的對比",



  1. ##?#?A?tibble:?2?x?2

  2. ##???currentSmoker?mean_resid

  3. ##???<fct>??????????????<dbl>

  4. ##?1?0??????????????-2.95e-14

  5. ##?2?1??????????????-2.42e-14

檢查假設(shè):

- 線性?- 隨機(jī)性?- 獨立性?

系數(shù)的推斷

currentSmoker1的測試統(tǒng)計量是如何計算的?
在統(tǒng)計學(xué)上,totalCholCent是否是預(yù)測一個人患冠心病高風(fēng)險的重要因素?
用檢驗統(tǒng)計量和P值來證明你的答案。
用置信區(qū)間說明你的答案。

偏離偏差檢驗

  1. ?glm(TenYearCHD?~?ageCent?+?currentSmoker?+?totChol,?

  2. ??????????????data?=?heart_data,?family?=?binomial)

anova

AIC

根據(jù)偏離偏差檢驗,你會選擇哪個模型?
基于AIC,你會選擇哪個模型?

使用step逐步回歸選擇模型

step(full_model?)


??kable(format?=?"markdown"?)

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

在下面公眾號后臺回復(fù)“冠心病數(shù)據(jù)”,可獲取完整數(shù)據(jù)。

點擊文末“閱讀原文”

獲取全文完整資料。

本文選自《R語言邏輯回歸(Logistic回歸)模型分類預(yù)測病人冠心病風(fēng)險》。

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

R語言邏輯回歸Logistic回歸分析預(yù)測股票漲跌

matlab用馬爾可夫鏈蒙特卡羅 (MCMC) 的Logistic邏輯回歸模型分析汽車實驗數(shù)據(jù)

R語言邏輯回歸、Naive Bayes貝葉斯、決策樹、隨機(jī)森林算法預(yù)測心臟病

R語言邏輯回歸(Logistic Regression)、回歸決策樹、隨機(jī)森林信用卡違約分析信貸數(shù)據(jù)集

PYTHON用戶流失數(shù)據(jù)挖掘:建立邏輯回歸、XGBOOST、隨機(jī)森林、決策樹、支持向量機(jī)、樸素貝葉斯和KMEANS聚類用戶畫像

Python對商店數(shù)據(jù)進(jìn)行l(wèi)stm和xgboost銷售量時間序列建模預(yù)測分析

PYTHON集成機(jī)器學(xué)習(xí):用ADABOOST、決策樹、邏輯回歸集成模型分類和回歸和網(wǎng)格搜索超參數(shù)優(yōu)化

R語言集成模型:提升樹boosting、隨機(jī)森林、約束最小二乘法加權(quán)平均模型融合分析時間序列數(shù)據(jù)

Python對商店數(shù)據(jù)進(jìn)行l(wèi)stm和xgboost銷售量時間序列建模預(yù)測分析

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

R語言基于樹的方法:決策樹,隨機(jī)森林,Bagging,增強樹

R語言用邏輯回歸、決策樹和隨機(jī)森林對信貸數(shù)據(jù)集進(jìn)行分類預(yù)測

spss modeler用決策樹神經(jīng)網(wǎng)絡(luò)預(yù)測ST的股票

R語言中使用線性模型、回歸決策樹自動組合特征因子水平

R語言中自編基尼系數(shù)的CART回歸決策樹的實現(xiàn)

R語言用rle,svm和rpart決策樹進(jìn)行時間序列預(yù)測

python在Scikit-learn中用決策樹和隨機(jī)森林預(yù)測NBA獲勝者

python中使用scikit-learn和pandas決策樹進(jìn)行iris鳶尾花數(shù)據(jù)分類建模和交叉驗證

R語言里的非線性模型:多項式回歸、局部樣條、平滑樣條、 廣義相加模型GAM分析

R語言用標(biāo)準(zhǔn)最小二乘OLS,廣義相加模型GAM?,樣條函數(shù)進(jìn)行邏輯回歸LOGISTIC分類

R語言ISLR工資數(shù)據(jù)進(jìn)行多項式回歸和樣條回歸分析

R語言中的多項式回歸、局部回歸、核平滑和平滑樣條回歸模型

R語言用泊松Poisson回歸、GAM樣條曲線模型預(yù)測騎自行車者的數(shù)量

R語言分位數(shù)回歸、GAM樣條曲線、指數(shù)平滑和SARIMA對電力負(fù)荷時間序列預(yù)測

R語言樣條曲線、決策樹、Adaboost、梯度提升(GBM)算法進(jìn)行回歸、分類和動態(tài)可視化

如何用R語言在機(jī)器學(xué)習(xí)中建立集成模型?

R語言ARMA-EGARCH模型、集成預(yù)測算法對SPX實際波動率進(jìn)行預(yù)測

在python 深度學(xué)習(xí)Keras中計算神經(jīng)網(wǎng)絡(luò)集成模型

R語言ARIMA集成模型預(yù)測時間序列分析

R語言基于Bagging分類的邏輯回歸(Logistic Regression)、決策樹、森林分析心臟病患者

R語言基于樹的方法:決策樹,隨機(jī)森林,Bagging,增強樹

R語言基于Bootstrap的線性回歸預(yù)測置信區(qū)間估計方法

R語言使用bootstrap和增量法計算廣義線性模型(GLM)預(yù)測置信區(qū)間

R語言樣條曲線、決策樹、Adaboost、梯度提升(GBM)算法進(jìn)行回歸、分類和動態(tài)可視化

Python對商店數(shù)據(jù)進(jìn)行l(wèi)stm和xgboost銷售量時間序列建模預(yù)測分析

R語言隨機(jī)森林RandomForest、邏輯回歸Logisitc預(yù)測心臟病數(shù)據(jù)和可視化分析

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

Matlab建立SVM,KNN和樸素貝葉斯模型分類繪制ROC曲線

matlab使用分位數(shù)隨機(jī)森林(QRF)回歸樹檢測異常值


【視頻】R語言邏輯回歸(Logistic回歸)模型分類預(yù)測病人冠心病風(fēng)險|數(shù)據(jù)分享的評論 (共 條)

分享到微博請遵守國家法律
西贡区| 阜新市| 阿合奇县| 黄陵县| 福海县| 青河县| 车致| 高台县| 台中市| 怀来县| 紫阳县| 宣威市| 封丘县| 花莲县| 江津市| 梁山县| 栾川县| 盱眙县| 富锦市| 彩票| 晋宁县| 河源市| 宁明县| 都匀市| 习水县| 洛扎县| 潞西市| 武威市| 顺义区| 怀安县| 额济纳旗| 正定县| 和政县| 青川县| 巴东县| 中江县| 抚州市| 巴彦淖尔市| 江西省| 高平市| 鄂温|