你好,游客 登录
背景:
阅读新闻

R语言逻辑回归

[日期:2017-09-12] 来源:yiibai  作者:初生不惑 [字体: ]

逻辑回归是一种回归模型,其响应变量(因变量)具有分类值,如True/False0/1。 它实际上是根据与预测变量相关的数学方程,来衡量二进制响应的概率作为响应变量的值。

逻辑回归的一般数学方程为 -

y = 1/(1+e^-(a+b1x1+b2x2+b3x3+...))
R

以下是使用的参数的描述 -

  • y - 是响应变量。
  • x - 是预测变量。
  • ab 是数字常数的系数。

用于创建回归模型的函数是glm()函数。

语法

用于计算逻辑回归的glm()函数的基本语法是 -

glm(formula,data,family)
R

以下是使用的参数的描述 -

  • formula - 是呈现变量之间关系的符号。
  • data - 是给出这些变量值的数据集。
  • family - 是R对象来指定模型的概述,对于逻辑回归,它的值是二项式。

示例

内置数据集“mtcars”描述了具有各种发动机规格的汽车的不同型号。在“mtcars”数据集中,传输模式(自动或手动)由列am(其为二进制值(01))描述。我们可以在“am”列和另外3列 - hpwtcyl之间创建逻辑回归模型。参考以上示例代码 -

# Select some columns form mtcars.
input <- mtcars[,c("am","cyl","hp","wt")]

print(head(input))
R

当我们执行上述代码时,会产生以下结果 -

                  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
Shell

创建回归模型

我们可使用glm()函数来创建回归模型并得到其摘要用于分析。

input <- mtcars[,c("am","cyl","hp","wt")]

am.data = glm(formula = am ~ cyl + hp + wt, data = input, family = binomial)

print(summary(am.data))
R

当我们执行上述代码时,会产生以下结果 -

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
Shell

总结:

对于变量“cyl”“hp”,最后一列的p值大于0.05,可认为它们对变量“am”的值有微不足道的作用。这个回归模型中只有体重(wt)才会影响“am”值。

收藏 推荐 打印 | 阅读:
相关新闻       R语言实例  R语言逻辑回归