逻辑回归及R语言的实现

版权声明:苍生苦难,不知伊于胡底 https://blog.csdn.net/qq_40527086/article/details/85123182

逻辑回归介绍

逻辑回归算法和线性回归非常相似,两者区别是在于线性回归算法中的变量是连续变量,而逻辑回归响应变量是二分类的变量(名义变量),使用逻辑回归算法主要目的是利用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]))

警告信息与处理

猜你喜欢

转载自blog.csdn.net/qq_40527086/article/details/85123182