2017-04-17 106 views
0

我試圖創建一個隨機森林R,使用下面的代碼:隨機森林下標越界出錯?

forest <- 
randomForest(Responder_7yr ~ CD4_num_log + CD8_num_log + anergy_CD8_num_log + 
      anergy_CD4_num_log + part_exhaust_CD8_num_log + exhaustion_CD8_num_log + 
      exhaustion_CD4_num_log + senescence_CD8_num_log + 
      senescence_CD4_num_log + tcm_CD4negCD8pos_num_log + 
      nTreg_CD4posCD8neg_num_log + ln_cpep + A1C + Ins, 
      data=resp, na.action=na.omit, importance=TRUE) 

,我發現了以下錯誤:

Error in `[.default`(table(observed = y, predicted = out.class), levels(y), : 
    subscript out of bounds 

我已經證實了所有預測都是正確的格式,結果以因子格式。任何幫助是極大的讚賞!

回答

2

檢查您的數據以查看各種預測變量和結果的分佈。您可能會發現某些預測因子水平或結果水平非常偏高,或者某些結果或預測因子水平非常罕見。當我試圖用經過嚴格調整的隨機森林來預測一個非常罕見的結果時,我得到了這個錯誤,所以一些預測因子水平實際上並不在訓練數據中。因此,訓練數據認爲超出界限的測試數據中會出現一個因素級別。