R - 逻辑回归
Logistic 回归是一种回归模型,其中响应变量(因变量)具有 True/False 或 0/1 等分类值。它实际上根据与预测变量相关的数学方程,将二元响应的概率测量为响应变量的值。
逻辑回归的一般数学方程是 -
y = 1/(1+e^-(a+b1x1+b2x2+b3x3+...))
以下是所使用参数的描述 -
y是响应变量。
x是预测变量。
a和b是系数,是数值常量。
用于创建回归模型的函数是glm()函数。
句法
逻辑回归中glm()函数的基本语法是 -
glm(formula,data,family)
以下是所使用参数的描述 -
公式是表示变量之间关系的符号。
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”值。