2016-05-19 130 views
0

我進行了一些實驗與logistic迴歸中的R與Auto數據集邏輯迴歸模型包含在R.獲取測試誤差作爲R

我已經得到了培訓的一部分(80%)和測試部分(20%)單獨歸一化每個部分。

我可以不與線的任何問題,創建模型:

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

我甚至可以預測train$mpg與編組:

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

而與此計算樣本誤差:

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

,但它不工作,因爲testpredtrainpred相同的長度(應該少)。當我想用計算與testpred以下行測試錯誤:

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

我得到以下錯誤:

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

我做錯了嗎?

+1

有一件事情可能沒有什麼區別:改變你迴歸到'mlr <-glm(mpg_place + horsepower + weight,data = train)'。如果指定了數據參數,則不需要'train $'。更重要的是,你可能會檢查這是否會產生邏輯迴歸。我認爲它實際上是OLS。你必須設置鏈接和家庭參數。 SO上有很多例子。 – lmo

回答

0

I反應我自己的問題,如果有人有同樣的問題:

當我把論點glm我說我想預測什麼,這是自$ MPG標籤與train數據,因此,我glm電話必須是:

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

如果現在我打電話predicttable等沒有結構尺寸的任何問題。修改這個錯誤對我很有用。

+0

我附加了自動數據集,避免了$。現在好多了? – Carlos