Logistic回归分析

本文介绍了如何使用Logistic回归分析数据,首先通过R语言读取数据并设定变量名,然后探讨一个解释变量(word_freq_your)与目标变量(spam)的关系,展示其散点图,并计算相关统计量。接着,建立一元Logistic回归模型,并用glm()函数求解参数。通过散点图展示模型效果,利用predict()和residuals()函数评估模型预测准确性。最后,增加了多个变量进行预测并进行变量选择,以提升模型预测性能。

首先像下面这样读入数据

\\spambase.data中包含实际数据,spambase.names中包含变量的信息
> spambase <- read.csv("spambase.data",header=F)

由于该数据文件中不包含变量信息,因此令header=F,使第1行不为变量名。像下面通过read.table()函数读入数据,并通过colnames()函数指定数据框spambase的变量名。

> colnames(spambase) <- read.table("spambase.names",skip=33,
+														sep=":",comment.char=" ")[,1]
> colnames(spambase)[ncol(spambase)]  <-  "spam"

先来考虑用一个解释变量预测目标变量的情形。解释变量设为word_freq_your,目标变量spam。首先我们观察word_freq_your和spam的散点图。

> library(ggplot2)
> qplot(word_freq_your,spam,data=spambase,alpha=I(0.03))

alpha参数设置了透明度,点较多的地方显示较浓,可以看到word_freq_your的值较大,则越容易判定为垃圾邮件。根据垃圾邮件判定的真伪,向下面这样输出中位数、平均值、标准差。

> library(dplyr)
> spambase %>%
> 		group_by(spam) %>%
> 		summarise(count=n(),
+				 med=median(word_freq_your),
+				 mean=mean(word_freq_your),
+				 sd=sd(word_freq_your))				 

然后用一元回归模型套用到该模型上:


                
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值