1个回答
随机森林和xgboost中的importance是一样的计算方法。
概括地说,一棵树中,某个特征的importance就是损失函数在这个特征切分点上的提升。在整个模型中,importance就是它在所有树上importance的均值。
例如,对于一个二元分类问题,我们用了gini impurity作为分叉标准的随机森林。假设,森林中一共三棵树。
特征A在树1中作为划分点,并且在这个点上,gini从0.6降到0.3。
特征A在树2中作为划分点,并且在这个点上,gini从0.5降到0.4。
特征A并没有出现在树3中。
特征A的importance为:((0.6-0.3)+(0.5-0.4))/3=0.13
特征B在树1中作为划分点,并且在这个点上,gini从0.3降到0.1。
特征B在树2中作为划分点,并且在这个点上,gini从0.7降到0.5。
特征B在树3中作为划分点,并且在这个点上,gini从0.4降到0.1。
特征B的importance为:((0.3-0.1)+(0.7-0.5)+(0.4-0.1))/3=0.23
上面的例子是gini,当然也可以entropy。对于回归任务来说,损失函数可以是MSE,或者MAE之类。
相关主题
如果用xgboost模型,那么还需要先做feature selection吗?
3回答
Tree Shap value for xgboost
2回答
xgboost里怎么使用KS值?
1回答
GBDT和XGBoost在叶子节点权重计算上有什么不同?
0回答
xgboost的FIT问题
1回答
既然xgboost那么好,线性回归还有存在的价值吗?
9回答
我们谢绝在回答前讲“生动”的故事。
我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。
我们谢绝答非所问。
我们谢绝自己不会、硬要回答。
我们感激每一个用户在编写答案时的努力与付出!