Tree ensemble算法中feature importance计算方法

来源:互联网 发布:免费的主题软件 编辑:程序博客网 时间:2024/06/05 02:03

基于Tree的集成机器学习算法已经成为机器学习领域的主流算法。我们在做任何一个机器学习任务时,大部分的精力都会放在特征工程上(Feature Engineering)。我们通常会采用前向或后向策略,根据模型的结果进行特征选择。然而,在使用Tree ensemble算法时,有一个更有用的模型属性(feature importance),我们经常用它来进行特征选择。所以,有必要介绍一下feature importance的计算公式,便于大家更好理解特征和模型。

Friedman在GBM[1]的论文中提出的方法:

特征xj在整个模型中的重要程度为:
J2j^=1MMm=1J2j^(Tm)
其中,M是模型中树的数量。特征xj在单独一个树上的特征重要度为:
J2j^(T)=L1t=1I2t^1(vt=j)
其中,L1是树中非叶子节点数量,vt表示在内部节点t进行分裂时选择的特征,I2t^是内部节点t分裂后平方损失的减少量。

J. H. Friedman. 2001. Greedy Function Approximation: A
Gradient Boosting Machine. Annals of Statistics 29(5):1189-
1232.