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