[問題類型]:
程式諮詢(我想用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")
這些問題可能是我方法論不熟悉,但請有使用過這些套件的前輩們提點一下
謝謝~