python 通过随机森林模型计算feature_importances

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 通过随机森林模型计算feature_importances相关的知识,希望对你有一定的参考价值。

# defining rmse as scoring criteria (any other criteria can be used in a similar manner)

def score(x1,x2):
    return metrics.mean_squared_error(x1,x2)
# defining feature importance function based on above logic
def feat_imp(m, x, y, small_good = True): 
"""
m: random forest model
x: matrix of independent variables
y: output variable
small__good: True if smaller prediction score is better
"""  
     score_list = {} 
      score_list[‘original’] = score(m.predict(x.values), y) 
      imp = {} 
      for i in range(len(x.columns)): 
            rand_idx = np.random.permutation(len(x)) # randomization
            new_coli = x.values[rand_idx, i] 
            new_x = x.copy()            
            new_x[x.columns[i]] = new_coli 
            score_list[x.columns[i]] = score(m.predict(new_x.values), y) 
            imp[x.columns[i]] = score_list[‘original’] — score_list[x.columns[i]] # comparison with benchmark
       if small_good: 
             return sorted(imp.items(), key=lambda x: x[1]) 
       else: return sorted(imp.items(), key=lambda x: x[1], reverse=True)

以上是关于python 通过随机森林模型计算feature_importances的主要内容,如果未能解决你的问题,请参考以下文章

R语言随机森林模型:计算随机森林模型的特征重要度(feature importance)并可视化特征重要度使用少数重要特征拟合随机森林模型(比较所有特征模型和重要特征模型在测试集上的表现差异)

随机森林参数说明

在 scikit-learn 中使用随机森林时的 feature_importances_

随机森林如何评估特征重要性

访问随机森林模型(Python、scikit-learn)中单个树的底层(tree_)对象

将随机森林分类分解成python中的碎片?