开发手册 欢迎您!
软件开发者资料库

大数据分析 - Logistic回归

大数据分析Logistic回归 - 从概述,数据生命周期,方法论,核心可交付成果,关键利益相关者,数据分析师,科学家,问题定义,数据收集,清理,总结,探索,可视化开始,简单易学地学习大数据分析,R简介,SQL简介,图表和图形,数据分析工具,统计方法,数据分析机器学习,朴素贝叶斯分类器,K均值聚类,关联规则,决策树,Logistic回归,时间序列分析,文本分析, 在线学习。

Logistic回归是一种分类模型,其中响应变量是分类的.它是一种来自统计数据的算法,用于监督分类问题.在逻辑回归中,我们寻求找到向量和β;以下公式中最小化成本函数的参数.

$$ logit(p_i)= ln \ left(\ frac {p_i} {1  -  p_i} \ right) = \beta_0 + \ betaa_1x_ {1,i} + ... + \ betaa_kx_ {k,i} $$

以下代码演示了如何拟合逻辑回归模型在R.我们将在这里使用垃圾数据集来演示逻辑回归,与朴素贝叶斯相同.

从预测结果的准确性来看,我们发现回归模型测试集的准确率达到92.5%,而朴素贝叶斯分类器的准确率为72%.

library(ElemStatLearn)head(spam) # Split dataset in training and testing inx = sample(nrow(spam), round(nrow(spam) * 0.8)) train = spam[inx,] test = spam[-inx,]  # Fit regression model fit = glm(spam ~ ., data = train, family = binomial()) summary(fit)  # Call: #   glm(formula = spam ~ ., family = binomial(), data = train) #  # Deviance Residuals:  #   Min       1Q   Median       3Q      Max   # -4.5172  -0.2039   0.0000   0.1111   5.4944# Coefficients: # Estimate Std. Error z value Pr(>|z|)     # (Intercept) -1.511e+00  1.546e-01  -9.772  < 2e-16 *** # A.1         -4.546e-01  2.560e-01  -1.776 0.075720 .   # A.2         -1.630e-01  7.731e-02  -2.108 0.035043 *   # A.3          1.487e-01  1.261e-01   1.179 0.238591     # A.4          2.055e+00  1.467e+00   1.401 0.161153     # A.5          6.165e-01  1.191e-01   5.177 2.25e-07 *** # A.6          7.156e-01  2.768e-01   2.585 0.009747 **  # A.7          2.606e+00  3.917e-01   6.652 2.88e-11 *** # A.8          6.750e-01  2.284e-01   2.955 0.003127 **  # A.9          1.197e+00  3.362e-01   3.559 0.000373 *** # Signif. codes:  0 *** 0.001 ** 0.01 * 0.05 . 0.1  1  ### Make predictions preds = predict(fit, test, type = ’response’) preds = ifelse(preds > 0.5, 1, 0) tbl = table(target = test$spam, preds) tbl #         preds # target    0   1 # email   535  23 # spam     46 316 sum(diag(tbl)) / sum(tbl) # 0.925