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中的碎片?