2

バイナリおよびマルチクラスの因子を含む 10 個のデータセットがあり、クラス確率を予測する R "glm" でロジスティック回帰を使用しました class,prediction(formula,data,type="response")。他のモデルが与えるように、代わりに予測されたクラスを取得するにはどうすればよいですか? 例えば:

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 かにかかわらず、クラス予測が必要です。または、クラス 1 用とクラス 0 用の 2 つの列の確率予測ですか?
  • また、マルチクラスがある場合、どのように使用できますか?
4

1 に答える 1

0

しばらく前に、データでこれを行う際に問題が発生しました。予測するには、最初にロジスティック回帰を作成する必要があります

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

次に、そこからモデルを予測または操作できます。

新しい予測:df1 と df2 は同じ長さでなければなりません (必要に応じて NA を追加してください)

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

于 2015-12-03T15:15:18.830 に答える