逻辑回归是一种回归模型,其响应变量(因变量)具有分类值,如True/False
或0/1
,它实际上是根据与预测变量相关的数学方程,来衡量二进制响应的概率作为响应变量的值,它的数学方程一般为:
y = 1/(1+e^-(a+b1x1+b2x2+b3x3+...))
参数描述如下:
- y - 是响应变量。
- x - 是预测变量。
- a 和 b 是数字常数的系数。
我们通常使用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”
值。
好啦,本次记录就到这里了。
如果感觉不错的话,请多多点赞支持哦。。。