Python XGBClassifier 报错:AttributeError: 'XGBClassifier' object has no attribute 'feature_importances'
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 著作权归作者所有。请勿转载和采集!