[问题类型]:
程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
[软件熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:当我使用glm套件中逻辑式回归(y为二元变量"binomial")时
modle <-glm(model1, family = "binomial" ,data = train )
跑出警告讯息
Warning messages:
1: glm.fit: algorithm did not converge
2: glm.fit: fitted probabilities numerically 0 or 1 occurred
上网搜寻了一下解法... 得出 https://goo.gl/aNHEtU
1.用 bayesglm 在arm这个套件
modle <-bayesglm(model1, family = "binomial" ,data = train )
2.用 glmnet套件
modle1 <-glmnet(x=as.matrix(train[,-c(1,26)]) ,y=train[,1] ,family =
"binomial" )
两个作法都可以跑,也可以预测,但是想知道原先glm的错误原因是什么
train跟test资料应该都没问题 y是二元的数值型态 x有连续也有二元都是数值型态
另外在glmnet预测中 s这个值不填的话字段很奇怪,看解释是指惩罚参数,但我原先的
logistic没有lamba参数阿..
glm_result <-predict(modle1, s=0.01, as.matrix(test[, -c(1,26)]),
type="response")
这些问题可能是我方法论不熟悉,但请有使用过这些套件的前辈们提点一下
谢谢~