You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中获取HistGradientBoostingClassifier的特征重要性?

解决HistGradientBoostingClassifier获取特征重要性的报错问题

你遇到的AttributeError是因为旧版本scikit-learn中的HistGradientBoostingClassifier并没有feature_importances_属性,取而代之的是get_feature_importances()方法。以下是获取包含特征及其重要性占比列表的具体步骤:

步骤1:获取原始特征重要性

确保模型已经完成训练(调用过model.fit(X, y)),然后用方法获取重要性数组:

importances = model.get_feature_importances()

步骤2:计算重要性占比并生成配对列表

假设你有特征名称的列表feature_names(比如来自数据集的列名),可以通过以下代码生成带占比的特征重要性列表:

# 计算总重要性
total_importance = sum(importances)

# 生成特征-占比配对列表,占比保留两位小数
feature_importance_list = [
    (feature, round(imp / total_importance * 100, 2))
    for feature, imp in zip(feature_names, importances)
]

# 可选:按重要性占比从高到低排序
feature_importance_list.sort(key=lambda x: x[1], reverse=True)

额外说明

  • 如果你的scikit-learn版本在0.24及以上,HistGradientBoostingClassifier已经支持feature_importances_属性,若仍报错,请检查模型是否完成训练(未调用fit方法会导致属性不存在)。
  • 生成的列表中每个元素是元组,格式为(特征名称, 重要性占比%),方便查看和后续处理。

内容的提问来源于stack exchange,提问作者Debasis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 23:32:33