
- R 教程
- R - 首頁
- R - 概述
- R - 環境設定
- R - 基本語法
- R - 資料型別
- R - 變數
- R - 運算子
- R - 決策
- R - 迴圈
- R - 函式
- R - 字串
- R - 向量
- R - 列表
- R - 矩陣
- R - 陣列
- R - 因子
- R - 資料框
- R - 包
- R - 資料重塑
R - 邏輯迴歸
邏輯迴歸是一種迴歸模型,其中響應變數(因變數)具有分類值,例如真/假或 0/1。它實際上是根據將響應變數與預測變數聯絡起來的數學方程,來衡量二元響應的機率。
邏輯迴歸的一般數學方程為:
y = 1/(1+e^-(a+b1x1+b2x2+b3x3+...))
以下是所用引數的描述:
y 是響應變數。
x 是預測變數。
a 和 b 是係數,它們是數值常數。
用於建立迴歸模型的函式是glm()函式。
語法
邏輯迴歸中glm()函式的基本語法為:
glm(formula,data,family)
以下是所用引數的描述:
formula 是表示變數之間關係的符號。
data 是提供這些變數值的資料集。
family 是 R 物件,用於指定模型的詳細資訊。對於邏輯迴歸,其值為 binomial。
示例
內建資料集“mtcars”描述了不同型號汽車及其各種發動機規格。在“mtcars”資料集中,變速模式(自動或手動)由列 am 表示,它是一個二元值(0 或 1)。我們可以建立列“am”與其他三列之間的邏輯迴歸模型 - hp、wt 和 cyl。
# Select some columns form mtcars. input <- mtcars[,c("am","cyl","hp","wt")] print(head(input))
執行上述程式碼後,將產生以下結果:
am cyl hp wt Mazda RX4 1 6 110 2.620 Mazda RX4 Wag 1 6 110 2.875 Datsun 710 1 4 93 2.320 Hornet 4 Drive 0 6 110 3.215 Hornet Sportabout 0 8 175 3.440 Valiant 0 6 105 3.460
建立迴歸模型
我們使用glm()函式建立迴歸模型並獲取其摘要以進行分析。
input <- mtcars[,c("am","cyl","hp","wt")] am.data = glm(formula = am ~ cyl + hp + wt, data = input, family = binomial) print(summary(am.data))
執行上述程式碼後,將產生以下結果:
Call: glm(formula = am ~ cyl + hp + wt, family = binomial, data = input) Deviance Residuals: Min 1Q Median 3Q Max -2.17272 -0.14907 -0.01464 0.14116 1.27641 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 19.70288 8.11637 2.428 0.0152 * cyl 0.48760 1.07162 0.455 0.6491 hp 0.03259 0.01886 1.728 0.0840 . wt -9.14947 4.15332 -2.203 0.0276 * --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 43.2297 on 31 degrees of freedom Residual deviance: 9.8415 on 28 degrees of freedom AIC: 17.841 Number of Fisher Scoring iterations: 8
結論
在摘要中,由於最後一列中的 p 值對於變數“cyl”和“hp”都大於 0.05,因此我們認為它們對變數“am”的值貢獻不顯著。在這個迴歸模型中,只有重量 (wt) 影響“am”的值。
廣告