This question is on an implementation aspect of sklearn DecisionTreeClassifier
How do I get the feature names ranked in descending order, from the feature_importances_ returned by the sklearn DecisionTreeClassifier?
The problem is that the input features to the classifier are not the original ones - they are numerical encoded one from pandas DataFrame get_dummies.
For example I take the mushroom dataset from the UCI repository. Features in the dataset include - cap_shape, cap_surface, cap_color, odor etc.
pandas dataframe getdummies encodes these into multiple features based on values of the original features. say cap_shape has values b,c,f,k .. after encoding new columns are cap_shape_b, cap_shape_c, cap_shape_f. Similar transformation happens for other features.
After training, the classifier tells me that the top two features are: cap_shape_b, cap_shape_c, cap_shape_f, odor_a,odor_c,odor_f,odor_l. From this result thrown by the classifier, I want my function to return the original features, that is, cap_shape and odor.