2015-12-03 102 views
1

我有10個數據集與二元和多類因素,我用邏輯迴歸與R「glm」誰可以給予類的概率預測,預測(公式,數據,類型= 「反應」),我怎麼能得到類的預測而不是像其他模型那樣。 例如:我怎麼能從物流回歸得到類別預測

df=data.frame(y=c(1,0,0,1),x1=c(1,2,3,4),x2=c(12,13,43,3)) 
df$y=as.factor(df$y) 
testdf=data.frame(y=c(1,1,0,0),x1=c(11,16,65,8),x2=c(3,2,5,0)) 
testdf$y=as.factor(testdf$y) 
model_glm=glm(y~.,data=df,family="binomial") 
pred_glm=predict(model_glm,newdata=testdf,type="response") 

這會給概率預測,

> pred_glm 
      1   2   3   4 
2.220446e-16 2.220446e-16 2.220446e-16 2.220446e-16 

但是我需要的類預測它是否是0或1或2列中的概率預測,一個用於1類另一個爲0級。 以及當我有多班時如何使用它。

回答

0

我有一些問題與我的數據一起回來。爲了預測您必須首先創建您的迴歸

lgr= glm(y ~ x1 + x2 +x3...x10, data=df1) 

,那麼你可以預測或有與您的模型玩:

新的預測:注意 DF1和DF2必須是同樣的長度(所以如果需要添加NAs)

predicts= predict(lgr, newdata= "df2") 

然後看到它,並使用它的演示文稿等。我將它寫入到CSV

write.csv(predicts, "K:/filelocation/filename.csv") 

編輯 如果試圖做基於預測分類,你需要做的特異性和靈敏度計算。請參閱:https://stats.stackexchange.com/questions/25389/obtaining-predicted-values-y-1-or-0-from-a-logistic-regression-model-fit/25398#25398?newreg=2f9713d7d60f427d9e123208c39f69f8

+0

非常感謝您的關注,不,這不是我的意思,我更新它,請再看一遍。 – Kamel

+0

那實際上比較複雜一點。您需要生成自己的分類閾值。 lda或svm會自動執行此操作,但是glm必須找到自己設置它的敏感性和特異性:http://stats.stackexchange.com/questions/25389/obtaining-predicted-values-y-1-or- 0-從-A-邏輯迴歸模型擬合 – ephackett