前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用R完成逻辑斯蒂回归分类 直接上代码,如下:

使用R完成逻辑斯蒂回归分类 直接上代码,如下:

作者头像
学到老
发布2019-02-13 17:26:23
1.1K0
发布2019-02-13 17:26:23
举报

版权声明:本文为博主原创文章,欢迎交流分享,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1390582

代码语言:javascript
复制

data_sample <- iris51:150,;

m <- dim(data_sample)1  #获取数据集记录条数

val <- sample(m, size =round(m/3), replace = FALSE, prob= rep(1/m, m))  #抽样,选取三分之二的数据作为训练集。 

iris.learn <- data_sample-val,  #选取训练集 

iris.valid <- data_sampleval,   #选取验证集

#调用glm函数训练逻辑斯蒂二元模型

#glm()提供正态、指数、gamma、逆高斯、Poisson、二项分布。我们的logistic回归使用的是二项分布族binomial。Binomial族默认连接函数为logit,可设置为probit。

logit.fit <- glm(Species~Petal.Width+Petal.Length,

 family = binomial(link = 'logit'),

 data = iris.learn);

#生成测试数据集,实际上直接使用iris.valid

dfrm <- data.frame(Petal.Width=iris.valid$Petal.Width,

 Petal.Length=iris.valid$Petal.Length);

real_sort <- iris.valid$Species;  #测试数据集实际类别

prdict_res <- predict(logit.fit, type="response", newdata=dfrm);  #预测数据产生概率

data.frame(predict=prdict_res, real=real_sort);  #查看数据产生概率和实际分类的关系

data.frame(predict=ifelse(prdict_res>0.5, "virginica", "versicolor"), real=real_sort);  #根据数据产生概率生成预测分类

table(data.frame(predict=ifelse(prdict_res>0.5, "virginica", "versicolor"), real=real_sort));  #计算分类准确度

代码语言:javascript
复制
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年12月27日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档