在随机森林中,对于回归任务和分类任务,重要性度量的计算方式是不同的。
-
回归任务:使用的是
%IncMSE
和IncNodePurity
。%IncMSE
:这是一个基于均方误差(Mean Squared Error,MSE)的度量。当我们对某个变量进行排列时,预测误差的增加程度被用作该变量的重要性度量。如果对预测结果影响较大的变量被排列,那么模型的MSE将会显著增加,因此%IncMSE
值也会较大。IncNodePurity
:这是一个基于节点纯度(Node Purity)的度量。在构建随机森林的每棵树时,每次分裂都会增加节点的纯度。一个变量如果在分裂中更常被用到,那么它对增加节点纯度的贡献就更大,因此被认为更重要。
-
分类任务:使用的是
MeanDecreaseAccuracy
和MeanDecreaseGini
。MeanDecreaseAccuracy
:这是一个基于准确率(Accuracy)的度量。当我们对某个变量进行排列时,模型准确率的降低程度被用作该变量的重要性度量。如果对预测结果影响较大的变量被排列,那么模型的准确率将会显著降低,因此MeanDecreaseAccuracy
值也会较大。MeanDecreaseGini
:这是一个基于基尼指数(Gini Index)的度量。在构建随机森林的每棵树时,每次分裂都会降低基尼指数。一个变量如果在分裂中更常被用到,那么它对降低基尼指数的贡献就更大,因此被认为更重要。
-
%IncMSE:假设你正在预测一个城市的房价,你有很多变量,比如房屋的面积、房屋的年龄、是否靠近公园等。如果我们随机改变"房屋面积"这个变量的值,然后用这个被改变的数据去预测房价,你会发现预测的房价与实际的房价之间的均方误差(MSE)会显著增加。这是因为"房屋面积"对房价有很大的影响,所以当它被改变时,预测的准确性就会下降。这就是
%IncMSE
的含义。 -
IncNodePurity:在构建决策树时,我们的目标是使得每个节点尽可能"纯净",也就是说,我们希望一个节点内的所有样本尽可能地属于同一类。比如,如果我们正在根据一些症状来预测一个人是否患有某种疾病,那么一个"纯净"的节点就是指该节点内的所有人都是病人,或者都是健康人。
IncNodePurity
就是衡量一个变量在增加节点纯度方面的贡献。 -
MeanDecreaseAccuracy:还是以预测房价为例,如果我们随机改变"房屋面积"这个变量的值,然后用这个被改变的数据去预测房价,你会发现预测的准确率会显著下降。这是因为"房屋面积"对房价有很大的影响,所以当它被改变时,预测的准确性就会下降。这就是
MeanDecreaseAccuracy
的含义。 -
MeanDecreaseGini:基尼指数是一种衡量不纯度的指标,值越小表示不纯度越低,也就是节点越"纯净"。在构建决策树时,我们的目标是选择能最大程度降低基尼指数的变量来进行分裂。
MeanDecreaseGini
就是衡量一个变量在降低基尼指数方面的贡献。