xgboost 及其 sklearn 的集成 feature_importances_ 错误

xgboost and its sklearn's integration feature_importances_ error

我正在使用 XGBoost 及其 sklearn 的包装器。

每当我尝试打印 feature_importances_ 时,都会出现以下错误:

ValueError: invalid literal for int() with base 10

深​​入研究代码,我发现 feature_importances_ property is calling get_fscore method 带有空参数 )来自原始助推器。此方法显式 returns 字典的形状如下:

{'feat_name1':5,'feat_name2':8,...,'feat_nameN':1}

因此,考虑到 feature_importances_ 对密钥应用了 int 转换,揭示了 错误消息 的基本原理。

keys = [int(k.replace('f', '')) for k in fs.keys()] #this is the conflictive line of code

所以,我的问题有两个:

1- 这是一个错误吗 因此我应该报告它(甚至修复它并请求拉取)?

2- get_fscore 函数及其 fmap 参数是否缺少某些内容?

我建议在 XGBoost Github 站点将其报告为错误:https://github.com/dmlc/xgboost/issues