R语言 入门教程 R语言 逻辑回归

2024-02-25 开发教程 R语言 入门教程 匿名 0

逻辑回归是回归模型,其中响应变量(因变量)具有诸如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”值。