2016-05-19 1 views
0

でロジスティック回帰モデルのテストエラーを取得し、私はトレーニング部分(80%)と試験を取得しましたR.私は<code>Auto</code>データセットでRでロジスティック回帰でいくつかの実験を行っていますR

に含ま各部分を個別に正規化する部分(20%)。

私はラインで何の問題もなくモデルを作成することができます

trainpred<-predict(mlr,train,type="response") 

そして、このサンプルエラーを計算すると::

mlr<-glm(train$mpg ~ 
train$displacement + train$horsepower + train$weight, data =train) 

私も電車のセットでtrain$mpgを予測することができます

etab <- table(trainpred, train[,1]) 
insampleerror<-sum(diag(etab))/sum(etab) 

問題はテストセットで予測したいときに発生します。私はこの警告を与える

testpred<-predict(model_rl,test,type="response") 

:私は、次の行を使用

'newdata' had 79 rows but variables found have 313 rows

をしかしtestpredは(小さくなければならない)trainpredの同じ長さを持っているので、それは、動作しません。私は次の行でtestpredを使用してテストで誤差を計算したいときは:

etabtest <- table(testpred, test[,1]) 

私は次のエラーを取得する:

Error en table(testpred, test[, 1]) :
all arguments must have the same length

私が間違ってやっていますか?

+1

おそらく違いはないでしょう:回帰を 'mlr <-glm(mpg〜ディスプレースメント+馬力+重量、データ=列車)'に変更してください。データ引数を指定した場合、 'train $'は必要ありません。さらに重要なことは、これがロジスティック回帰を作成することを確認するかもしれません。私はそれが実際にOLSだと思う。リンクとファミリの引数を設定する必要があります。 SOには多くの例があります。 – lmo

答えて

0

誰かが同じ問題を抱えている場合、私は自分の質問に応答:私はglmで引数を置くとき、私は私の、これが故にtrainデータ、との自動$ mpgファイルのラベルで、私は予測したいもの

言っていますglm呼び出しでなければなりません:

attach(Auto) 
mlr<-glm(mpg ~ 
displacement + horsepower + weight, data=Auto, subset=indexes_train) 

今、私は構造体のサイズのいずれかの問題が存在しないなど、tablepredictを呼び出す場合。この間違いを修正することは私のために働く。

+0

私は$を避けてAutoデータセットを添付しました。今はまし? – Carlos

関連する問題