随机森林结果的多变量分析

时间:2017-08-28 13:46:15

标签: r random-forest

没有数据样本提前道歉:

我构建了一个128棵树的随机森林,没有调整,有1个二元结果和4个解释性连续变量。然后,我将这片森林的AUC与已建成的森林进行了对比,并对案例进行了预测。我想弄清楚的是如何确定究竟是什么赋予这片新森林预测能力。对结果变量的单变量分析没有得出重大发现。非常感谢任何技术建议。

编辑:总而言之,我想对这4个解释变量进行多变量分析,以确定可能解释森林预测能力的相互作用。

1 个答案:

答案 0 :(得分:2)

随机森林被称为"黑盒子"学习算法,因为没有好的方法来解释输入和结果变量之间的关系。但是,您可以使用变量重要性图部分依赖图之类的内容来了解​​哪些变量在进行预测时贡献最大。

以下是关于variable importance plotsherehere的一些讨论。它在randomForest包中实现为varImpPlot(),在caret包中实现为varImp()。此图的解释取决于您用于评估变量重要性的指标。例如,如果使用MeanDecreaseAccuracy,变量的高值意味着平均而言,包含此变量的模型会将分类错误减少很多。

以下是partial dependence plots for predictive models以及here的其他讨论。它在randomForest包中实施为partialPlot()

实际上,4个解释变量并不多,因此您可以轻松地运行二元逻辑回归(可能使用L2正则化)来获得更具解释性的模型。并将其与随机森林的性能进行比较。请参阅有关variable selection的讨论。它在glmnet包中实现。基本上,L2正则化,也称为脊,是一个增加到损失函数的惩罚项,它会缩小你的系数以减少方差,但会增加偏差。如果减少的方差量大于补偿偏差(这通常是这种情况),这有效地减少了预测误差。由于您只有4个输入变量,我建议使用L2而不是L1(也称为套索,它也可以进行自动特征选择)。请参阅此答案,了解使用cv.glmnetHow to estimate shrinkage parameter in Lasso or ridge regression with >50K variables?

进行脊和套索收缩参数调整