如何在 randomForest 中获取 finalModel 选择的特征?

How to get finalModel selected features in randomForest?

我正在使用 caret 训练一个 parRF 模型,其调谐网格包含一系列 mtry = 3:20。

当算法完成时,它会打印以下内容:

 mtry  ROC        Sens       Spec     
   2    0.7420331  0.6204671  0.7424294
   3    0.7476080  0.6390894  0.7343044
   4    0.7472579  0.6364214  0.7376243
   5    0.7476245  0.6351781  0.7349261
   6    0.7476901  0.6340793  0.7424026
   7    0.7485309  0.6323017  0.7431485
   8    0.7477496  0.6330511  0.7459274
   9    0.7481676  0.6301848  0.7462164
  10    0.7472944  0.6298118  0.7496909
  11    0.7474194  0.6325235  0.7514651
  12    0.7470044  0.6303864  0.7512466
  13    0.7471885  0.6261626  0.7511862
  14    0.7460856  0.6264819  0.7522480
  15    0.7467873  0.6261324  0.7561996
  16    0.7479428  0.6255679  0.7550840
  17    0.7464456  0.6260585  0.7537030
  18    0.7466500  0.6236055  0.7542641
  19    0.7473104  0.6262634  0.7562870
  20    0.7473408  0.6232997  0.7595128

最好的ROC使用mtry = 7。我想提取这七个特征,可以吗?

我的印象是 mtry 决定了树中每个 node/split 采样的特征数量。这并不意味着使用了 7 个特征。

您想在使用 mtry = 7 时查看模型的特征重要性。

阅读可能有用:https://topepo.github.io/caret/variable-importance.html

文档中有一些示例解释了如何提取特征重要性以及指标的含义。

在对您提取的那些特征做出任何强有力的假设之前,请确保您的模型设置正确。