2017-06-13 21 views
0

我試圖從kaggle解決泰坦尼克號數據集。 我已經做了在列車上的數據幾乎所有的工作組 火車(12個變量的891個OBS) 測試(418個OBS 11個變量的)因素名稱在測試數據集中使用預測函數時具有新的級別

我用決策樹(rpart包法)

混淆矩陣(pred_train ,火車$活了下來) 混淆矩陣和統計

   Reference 
    Prediction 0 1 
      0 549 0 
      1 0 342 

       Accuracy : 1     
       95% CI : (0.996, 1)   
    No Information Rate : 0.616    
    P-Value [Acc > NIR] : <0.0000000000000002 

        Kappa : 1     
Mcnemar's Test P-Value : NA     

      Sensitivity : 1.000    
      Specificity : 1.000    
     Pos Pred Value : 1.000    
     Neg Pred Value : 1.000    
      Prevalence : 0.616    
     Detection Rate : 0.616    
    Detection Prevalence : 0.616    
     Balanced Accuracy : 1.000    

     'Positive' Class : 0     

我用pred <- predict (fit ,test ,type = "class")我得到

model.frame.default中的錯誤(術語,newdata,na.action = na.action, xlev = attr(object,:factor Name具有新的級別Abbott,Master。 E. ..

我怎麼能,因爲在訓練和測試數據集(891和418)的意見差異解決這個問題,我已經刪除標識符(passengerId)從訓練數據集

回答

0

培訓需要rbind測試和培訓,然後使用因素,並提取「新」與所有因子水平火車和測試之前

+0

你的意思是應用決策樹或者從一開始(甚至功能工程之前) –

+0

是在之前說如果測試數據中存在未知因素,則開始預測失敗 –

+0

x < - cbind(x_trai N,y_train) #生長樹 配合< - rpart包(y_train〜,數據= X,方法= 「類」) 摘要(FIT) #Predict輸出 預測=預測(配合,x_test)其中y_train =列車。 $ survived,x_train = train,x_test = test 錯誤i gt eval中的錯誤(predvars,data,env):object'Survived'not found –

相關問題