【问题标题】:XGBoost feature importance in a list列表中的 XGBoost 功能重要性
【发布时间】:2021-10-23 06:54:08
【问题描述】:

我想问是否有办法提取最重要特征的名称并将它们保存在 pandas 数据框中。我知道如何绘制它们以及如何获取它们,但我正在寻找一种方法来将最重要的特征保存在数据框中。

from xgboost import XGBClassifier
from xgboost import plot_importance

# fit model to training data
xgb_model = XGBClassifier(random_state=0)
xgb_model.fit(X, y)

print("Feature Importances : ", xgb_model.feature_importances_)

# plot feature importance
fig, ax = plt.subplots(figsize=(15, 10))
plot_importance(xgb_model, max_num_features=35, height=1, ax=ax)
plt.show()

【问题讨论】:

标签: python pandas dataframe xgboost


【解决方案1】:

要显示模型使用的最重要的功能,您可以使用,然后将它们保存到数据框中。

xgb.plot_importance({model})
plt.rcParams['figure.figsize'] = [6, 4]
plt.show()

【讨论】:

  • 如何保存?你只展示了如何绘制它
【解决方案2】:
pandas.DataFrame({'col_name': clf.feature_importances_}, index=x.columns).sort_values(by='col_name', ascending=False)

这会将您的特征保存到数据框中。 来自:How are "feature_importances_" ordered in Scikit-learn's RandomForestRegressor 作者:阿比舍克·帕里达

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-09
    • 1970-01-01
    • 2019-12-13
    • 2020-11-13
    相关资源
    最近更新 更多