逻辑回归及R语言的实现

逻辑回归介绍

逻辑回归算法和线性回归非常相似,两者区别是在于线性回归算法中的变量是连续变量,而逻辑回归响应变量是二分类的变量(名义变量),使用逻辑回归算法主要目的是利用logit模型去预测和测量变量相关的名义变量的概率。逻辑回归公式:ln(P/(1-P)),P为某事情发生的概率。

参数介绍

实例

rm(list=ls()) # 移除工作区变量
library(kknn) # kknn包中含有knn算法
library(ISLR) # 含有Caravan数据集
attach(Caravan) 
var0 = c('PVRAAUT','PZEILPL','AVRAAUT','AZEILPL')
Caravan = Caravan[,!names(Caravan) %in% var0] # 去除无用变量
purchase = ifelse(Purchase=="No",0,1) # 将响应变量置为0/1
Caravan = data.frame(Caravan,purchase)
# 划分训练集测试集
set.seed(1)
train.index = sample(1:nrow(Caravan),1000)
Caravan.train = Caravan[train.index,]
Caravan.test = Caravan[-train.index,]
# 进行逻辑回归
logit.caravan = glm(purchase~.,data = Caravan.train,family = binomial(link='logit'),
                    control=list(maxit=100))
logit.pred = predict(logit.caravan,Caravan.test,type = "response")
logit.pred = ifelse(logit.pred>=0.2,1,0)
print(table(logit.pred,purchase[-train.index]))

警告信息与处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UESTC Like_czw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值