R語言邏輯迴歸
阿新 • • 發佈:2019-02-19
# 邏輯迴歸是迴歸模型,其中響應變數(因變數)具有諸如True / False或0/1的分類值。 它實際上基於將其與預測變數相關的數學方程測量二元響應的概率作為響應變數的值。
# 邏輯迴歸的一般數學方程為 -
# y = 1/(1+e^-(a+b1x1+b2x2+b3x3+...))
# 以下是所使用的引數的描述 -
# y是響應變數。
# x是預測變數。
# a和b是作為數字常數的係數。
# 用於建立迴歸模型的函式是glm()函式。
# 語法
#
# 邏輯迴歸中glm()函式的基本語法是 -
# glm(formula,data,family)
# 以下是所使用的引數的描述 -
# formula是表示變數之間的關係的符號。
# data是給出這些變數的值的資料集。
# family是R語言物件來指定模型的細節。 它的值是二項邏輯迴歸。
# 例
#
# 內建資料集“mtcars”描述具有各種發動機規格的汽車的不同型號。 在“mtcars”資料集中,傳輸模式(自動或手動)由am列描述,它是一個二進位制值(0或1)。 我們可以在列“am”和其他3列(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
# 結論
#
# 在總結中,對於變數“cyl”和“hp”,最後一列中的p值大於0.05,我們認為它們對變數“am”的值有貢獻是無關緊要的。 只有重量(wt)影響該回歸模型中的“am”值。
# 邏輯迴歸的一般數學方程為 -
# y = 1/(1+e^-(a+b1x1+b2x2+b3x3+...))
# 以下是所使用的引數的描述 -
# y是響應變數。
# x是預測變數。
# a和b是作為數字常數的係數。
# 用於建立迴歸模型的函式是glm()函式。
# 語法
#
# 邏輯迴歸中glm()函式的基本語法是 -
# glm(formula,data,family)
# 以下是所使用的引數的描述 -
# formula是表示變數之間的關係的符號。
# data是給出這些變數的值的資料集。
# family是R語言物件來指定模型的細節。 它的值是二項邏輯迴歸。
# 例
#
# 內建資料集“mtcars”描述具有各種發動機規格的汽車的不同型號。 在“mtcars”資料集中,傳輸模式(自動或手動)由am列描述,它是一個二進位制值(0或1)。 我們可以在列“am”和其他3列(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
# 結論
#
# 在總結中,對於變數“cyl”和“hp”,最後一列中的p值大於0.05,我們認為它們對變數“am”的值有貢獻是無關緊要的。 只有重量(wt)影響該回歸模型中的“am”值。