I use XGBoost
and its sklearn
packaging.
Whenever I try to print feature_importances_
, it comes up with the following error:
ValueError: invalid literal for int () with base 10
Digging in the code, I found out that the feature_importances_
property is a method ( with empty parameters ) from the original booster. This method explicitly returns a dictionary similar to this:
{'feat_name1':5,'feat_name2':8,...,'feat_nameN':1}
So, given that feature_importances_
applies the int
transformation to keys, it exposes the rationale for the message .
keys = [int(k.replace('f', '')) for k in fs.keys()] #this is the conflictive line of code
So my question is twofold here:
1- is this an error , and therefore should I report it (or even fix and request pull)?
2- is there something that I am missing with the get_fscore
function and its fmap
param?
source share