R语言glm函数学习:
【转载时请注明来源】:http://www.cnblogs.com/runner-ljt/
Ljt
作为一个初学者,水平有限,欢迎交流指正。
glm函数介绍:
glm(formula, family=family.generator, data,control = list(...))
family:每一种响应分布(指数分布族)允许各种关联函数将均值和线性预测器关联起来。
常用的family:
binomal(link='logit') ----响应变量服从二项分布,连接函数为logit,即logistic回归
binomal(link='probit') ----响应变量服从二项分布,连接函数为probit
poisson(link='identity') ----响应变量服从泊松分布,即泊松回归
control:控制算法误差和最大迭代次数
glm.control(epsilon = 1e-8, maxit = 25, trace = FALSE)
-----maxit:算法最大迭代次数,改变最大迭代次数:control=list(maxit=100)
glm函数使用:
> > data<-iris[1:100,] > samp<-sample(100,80) > names(data)<-c('sl','sw','pl','pw','species') > testdata<-data[samp,] > traindata<-data[-samp,] > > lgst<-glm(testdata$species~pl,binomial(link='logit'),data=testdata) Warning messages: 1: glm.fit:算法没有聚合 2: glm.fit:拟合機率算出来是数值零或一 > summary(lgst) Call: glm(formula = testdata$species ~ pl, family = binomial(link = "logit"), data = testdata) Deviance Residuals: Min 1Q Median 3Q Max -1.836e-05 -2.110e-08 -2.110e-