R语言做逻辑回归

 

前面写过一个多分类的逻辑回归,现在要做一个简单的二分类,用glm函数

导入csv格式如下:

 

mydata<-read.csv("D://li.csv",header=T)
colnames(mydata)<-c("x1","x2","x3","y")
model<-glm(formula = y ~ x1+x2+x3, family = quasibinomial(link = "logit"),data = mydata)
summary(model)

  这里family没有使用binomial,那个会报一个警告,

Warning message:
In eval(family$initialize) : 二项通用线性模型里出现了非整数的#成功!

查了一下,有可能数据是不均匀分布(Overdispersion),把family改成quasi的就行了。不过AIC会变成NA,这下拟合的P值就显著多了。

family = quasibinomial(link = "logit")

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在R语言中进行逻辑回归的一般过程: 1. 载入数据集 我们需要先载入数据集并进行数据预处理,例如,将分类变量转换为虚拟变量(dummy variable)。 ```R # 载入数据集 data <- read.csv("data.csv") # 将分类变量转换为虚拟变量 data <- data.frame(model.matrix(~.-1, data)) ``` 2. 拆分数据集 我们需要将数据集拆分为训练集和测试集,以便在模型训练期间对其进行评估。 ```R # 拆分数据集为训练集和测试集 library(caTools) set.seed(123) split <- sample.split(data$target, SplitRatio = 0.7) train <- subset(data, split == TRUE) test <- subset(data, split == FALSE) ``` 3. 拟合逻辑回归模型 我们使用`glm()`函数来拟合逻辑回归模型,并使用训练集进行模型训练。 ```R # 拟合逻辑回归模型 model <- glm(target ~ ., data = train, family = binomial()) ``` 4. 预测和评估模型 我们使用测试集进行模型预测,并使用一些评估指标来评估模型的性能。 ```R # 对测试集进行预测 predictions <- predict(model, newdata = test, type = "response") # 将连续预测值转换为二元分类预测 predictions <- ifelse(predictions > 0.5, 1, 0) # 计算模型的准确率 accuracy <- sum(predictions == test$target) / nrow(test) ``` 5. 可视化结果 我们可以使用`ggplot2`包来可视化模型的结果。 ```R # 载入ggplot2包 library(ggplot2) # 创建ROC曲线 library(pROC) roc <- roc(test$target, predictions) # 绘制ROC曲线 ggplot(roc, aes(d = 1 - specificity, m = sensitivity)) + geom_line() + geom_abline(intercept = 0, slope = 1, linetype = "dashed", color = "gray") + labs(x = "False Positive Rate", y = "True Positive Rate") + ggtitle("ROC Curve") + theme_bw() ``` 以上是在R语言中进行逻辑回归的一般过程,包括载入数据集、拆分数据集、拟合逻辑回归模型、预测和评估模型以及可视化结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值