R 随机森林结果的多元分析

R 随机森林结果的多元分析,r,random-forest,R,Random Forest,为没有数据样本提前道歉: 我构建了一个由128棵树组成的随机森林,没有调优,有1个二进制结果和4个解释性连续变量。然后,我将这片森林的AUC与已经建成的森林进行比较,并根据案例进行预测。我想弄清楚的是,如何确定到底是什么赋予了这片新森林预测能力。结果变量的单变量分析未得出显著结果。任何技术建议都将不胜感激 编辑:总而言之,我想对这4个解释变量进行多变量分析,以确定发生了哪些相互作用可以解释森林的预测能力。随机森林是一种被称为“黑箱”学习算法,因为没有好的方法来解释输入和结果变量之间的关系。但是,

为没有数据样本提前道歉:

我构建了一个由128棵树组成的随机森林,没有调优,有1个二进制结果和4个解释性连续变量。然后,我将这片森林的AUC与已经建成的森林进行比较,并根据案例进行预测。我想弄清楚的是,如何确定到底是什么赋予了这片新森林预测能力。结果变量的单变量分析未得出显著结果。任何技术建议都将不胜感激


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

随机森林是一种被称为“黑箱”学习算法,因为没有好的方法来解释输入和结果变量之间的关系。但是,您可以使用变量重要性图部分相关性图来了解哪些变量对预测的贡献最大

以下是一些关于、以及的讨论。它在
randomForest
包中作为
varimplot()
实现,在
caret
包中作为
varImp()
实现。此图的解释取决于您用于评估变量重要性的度量。例如,如果使用
meanDecreaseAccurance
,则变量的高值意味着,平均而言,包含此变量的模型将大大减少分类错误

这里还有一些其他的讨论。它作为
partialPlot()
randomForest
包中实现


实际上,4个解释变量并不多,因此您可以轻松地对更具解释性的模型运行二元逻辑回归(可能带有L2正则化)。并将其性能与随机林进行比较。请参阅有关的讨论。它在
glmnet
包中实现。基本上,L2正则化,也称为岭,是一个添加到损失函数中的惩罚项,它以增加偏差为代价,收缩系数以减少方差。如果减少的方差量超过偏差补偿量(通常情况下),这将有效地减少预测误差。因为您只有4个输入变量,所以我建议使用L2而不是L1(也称为lasso,它也可以进行自动特征选择)。使用
cv.glmnet
查看ridge和lasso收缩参数调整的答案:

只是为了澄清一下,您是在寻找变量还是模型超参数来提高模型精度。@WilliamAshford他提到没有调整,所以我猜他的意思是如何找到最具预测性的变量?我们讨论了多少变量?在一般情况下,如果不进行调整,可能会询问超参数的重要性。@WilliamAshford在OP中指出,我们正在处理4个解释性连续变量。@WilliamAshford据我所知,random forest不需要太多超参数调整,只需调整树的数量,所以在这种情况下,变量重要性可能更相关?请重申你想问的问题…谢谢你的回复。我将尝试你的二元逻辑回归建议,并报告结果。顺便问一下,对于
rms
库中
lrm
中的L2正则化,参数是什么?或者这是数学上的结果吗?@JonathanRauscher我不熟悉
rms
包,但更多细节请参见我的更新答案。我尝试了你的建议,逻辑回归比随机森林弱得多。想法?@JonathanRauscher在这种情况下,您可能只想使用逻辑回归进行解释,使用随机森林进行预测。并使用上述曲线图评估变量重要性。最终,这取决于你是更关心可解释性还是预测性。随机森林无疑在预测上更好,但对数回归更容易解释。