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
我正在使用 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