# # RF获取特征重要性
feature_importances = model.feature_importances_
print(feature_importances)
# 将特征重要性转换成数组
sorted_idx = np.argsort(feature_importances)
pos = np.arange(sorted_idx.shape[0]) + .5
# 绘制特征重要性
plt.figure(figsize=(12, 6))
plt.barh(pos, feature_importances[sorted_idx], align='center')

plt.xticks(fontsize=12)
plt.yticks(pos, X.columns[sorted_idx],fontsize=16)
plt.title('feature importance')
plt.xlabel('feature importance',fontsize=16)
plt.show()



##使用eli5,BP计算特征重要性
perm = PermutationImportance(model, random_state=42).fit(X_train, y_train)
eli5.show_weights(perm)

##可视化特征重要性
weights = perm.feature_importances_
indices = np.argsort(weights)[::-1]
feature_names = ['ω','sinθ','σ','β','t1','t0']

# 调整特征名称和权重的顺序
sorted_feature_names = [feature_names[i] for i in indices]
sorted_weights = weights[indices]

# 绘图
plt.figure(figsize=(6, 4))
plt.barh(range(len(sorted_feature_names)), sorted_weights, align='center')
plt.yticks(range(len(sorted_feature_names)), sorted_feature_names)
plt.xlabel('Feature Importance')
plt.title('Permutation Importance of Features')
plt.gca().invert_yaxis()  # 可选,反转y轴,使最重要的特征在顶部
plt.show()

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐