首页 > 代码库 > 最详细的基于R语言的Logistic Regression(Logistic回归)源码,包括拟合优度,Recall,Precision的计算

最详细的基于R语言的Logistic Regression(Logistic回归)源码,包括拟合优度,Recall,Precision的计算

这篇日志也确实是有感而发,我对R不熟悉,但实验需要,所以简单学了一下。发现无论是网上无数的教程,还是书本上的示例,在讲Logistic Regression的时候就是给一个简单的函数及输出结果说明。从来都没有讲清楚几件事情:

1. 怎样用训练数据训练模型,然后在测试数据上进行验证(测试数据和训练数据可能有重合)?

2. 怎样计算预测的效果,也就是计算Recall,Precision,F-measure等值?

3. 怎样计算Nagelkerke拟合优度等评价指标?

发现这些书本和一些写博客的朋友,脑子真是不清楚得可以。去看你的教程,不是光看看简单的函数使用,或者听你讲讲原理,还是希望能尽快并且正确地用起来。从我的经历来看,已有的网上教程都做得太差了。

这里我也不详细介绍过程了,贴上有详细注释的代码,相信大家一看就明白:

rm(list=ls(all=TRUE))#首先删除工作空间中所有对象
training=read.csv("training.csv",header=FALSE)
testing=read.csv("testing.csv",header=FALSE)#分别导入训练和测试数据
 
glm.fit=glm(V16~V7,data=http://www.mamicode.com/training,family=binomial(link="logit"))#用训练数据生成模型,这里我是用第7列数据预测第16列>

搞不清楚这么简单的东西,为什么很多人都说不清楚。

这里再简单解释一下summary输出结果:

Call:
glm(formula = V16 ~ V7, family = binomial(link = "logit"), data = http://www.mamicode.com/training)>
其实大家主要看Coefficient这里就可以了,其中Estimate表示最终预测方程里V7的系数,Pr就是p-value,从这两处看预测效果还可以接受。

最详细的基于R语言的Logistic Regression(Logistic回归)源码,包括拟合优度,Recall,Precision的计算