R插入符号未在训练中使用所有行

R插入符号未在训练中使用所有行,r,random-forest,r-caret,R,Random Forest,R Caret,我试图用R中的caret软件包建立一个随机森林模型。训练数据有287个样本和147个变量,测试分区是119 x 147。这是我的部分代码 ##Split into training and validation samples inTrain <- createDataPartition(y=all_subj_summ$out, p=0.7, list=FALSE) training <- all_subj_summ[inTrain,] testing <- all_subj_

我试图用R中的caret软件包建立一个随机森林模型。训练数据有287个样本和147个变量,测试分区是119 x 147。这是我的部分代码

##Split into training and validation samples
inTrain <- createDataPartition(y=all_subj_summ$out, p=0.7, list=FALSE)
training <- all_subj_summ[inTrain,]
testing <- all_subj_summ[-inTrain,]

#fit a model using RandomForest using all variables
set.seed(123)
tc <- trainControl(method="cv")
mod <- train(out ~ ., method="rf", data=training, prox=TRUE, trControl=tc)
preds <- predict(mod,testing)
table(preds, testing$out)
confusionMatrix(testing$out, preds)
结果表明,当应用于测试分区时,该模型仅预测64个值,而不是测试集中的所有119行。当我检查rf模型时,我发现并非所有287个样本(来自训练集)都被使用。我知道在引导过程中,我们使用相同数量的样本(替换)。。。请参见下面的模型输出

> mod
Random Forest 

287 samples
146 predictors
  5 classes: 'A1', 'A2', 'A3', 'A4', 'NaN' 

No pre-processing
Resampling: Cross-Validated (10 fold) 

Summary of sample sizes: 139, 137, 137, 138, 138, 138, ... 

Resampling results across tuning parameters:

  mtry  Accuracy  Kappa  Accuracy SD  Kappa SD
    2   0.763     0.691  0.0917       0.123   
   74   0.763     0.693  0.0913       0.123   
  146   0.750     0.678  0.0910       0.122   

Accuracy was used to select the optimal model using  the largest value.
The final value used for the model was mtry = 74. 

有人能解释为什么rf只使用130多个样本来建立模型,其次,当应用于预测结果时,为什么只预测了64个样本?谢谢

我发现,如果我们在提交插入符号进行交叉验证之前输入缺失值,模型将预测测试集中的所有119条记录(我上面的第二个问题)。但是,该模型的引导数仍然少于培训中的完整记录数。您确定数据没有问题吗?有一个班叫“楠”。我无法重现这一点,因为train(method=“rf”)在尝试拟合响应变量中包含NaN的模型时会抛出错误。
> mod
Random Forest 

287 samples
146 predictors
  5 classes: 'A1', 'A2', 'A3', 'A4', 'NaN' 

No pre-processing
Resampling: Cross-Validated (10 fold) 

Summary of sample sizes: 139, 137, 137, 138, 138, 138, ... 

Resampling results across tuning parameters:

  mtry  Accuracy  Kappa  Accuracy SD  Kappa SD
    2   0.763     0.691  0.0917       0.123   
   74   0.763     0.693  0.0913       0.123   
  146   0.750     0.678  0.0910       0.122   

Accuracy was used to select the optimal model using  the largest value.
The final value used for the model was mtry = 74.