Python XGBClassifier 报错:AttributeError: 'XGBClassifier' object has no attribute 'feature_importances'

在使用 XGBoost 的 XGBClassifier 时,你可能会遇到以下错误:

AttributeError: 'XGBClassifier' object has no attribute 'feature_importances'

错误原因:

出现这个错误是因为你试图访问 XGBClassifier 对象中不存在的 'feature_importances' 属性。在 XGBClassifier 中,获取特征重要性的正确属性是 'feature_importances_',注意末尾有一个下划线。

解决方法:

将代码中 xgb_n_clf.feature_importances 修改为 xgb_n_clf.feature_importances_ 即可。

示例:

假设你想要将特征重要性与特征名称一起显示,可以参考以下修改后的代码:

import pandas as pd

# ...你的代码...

xgb_imp = pd.DataFrame({'col': ['特征1', '特征2', '特征3', '特征4', '特征5', '特征6', '特征7', '特征8', '特征9'], 'importance': xgb_n_clf.feature_importances_})
print(xgb_imp)

这段代码将创建一个 Pandas DataFrame,其中包含特征名称和对应的特征重要性。


原文地址: http://www.cveoy.top/t/topic/f1Zd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录