Almost reverse feature importances by Extratrees vs RandomForest I am using scikit-learn to find feature importances using ExtraTreesClassifier and RandomForestClassifier, both of which have feature_importances_ attribute. 
The data has 4 numeric predictors, 2 binary predictors and 2 multiclass (3 each) predictors which are converted to 6 dummy variables. There are about 12000 rows in dataset. The outcome variable is binary.
Following are the plots of features importances by 2 classifiers: 


As can be seen by above figures, the importances are almost reverse of each other. 
SM,SL,SB and LM are most important by ET and almost least important by RF. Inverse is true for HT,WST,WT and A.
What could be the reason for such discrepancy? What does it tell about the data and the outcome variable? What is the best way to get feature importances reliably? Thanks for your insight.
Edit: I kept n_estimators=250. Results are similar with n_estimators=100
 A: RandomForest and ExtraTrees will tend to supress redundant features. If a feature A is used already, and feature B does not add any new information over A it won't get used. And it will thus not contribute to feature importances, even though it is in general a highly predictive variable.
Which features gets picked as important among redundant features is random, and even the same model type is likely to give different feature importances in these cases each time it is trained. You can test this by passing different random_state variables.
Redundant features should have high mutual information. And they might be linearly correlated.
A: Difference would be there since these two algorithms work in a different way.
ExtraTreeClassifier:  fits a number of randomized decision trees (a.k.a. extra-trees) on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting.
whereas,
RandomForest: fits a number of decision tree classifiers on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting. The sub-sample size is always the same as the original input sample size but the samples are drawn with replacement if bootstrap=True 
so please check if you put bootstrap=True or False. 
Now the question is how can you decide what is the correct feature importance order, use three or four algorithms to find feature importance and let the majority wins! (almost every classification algorithm in scikit-learn offers feature importance) 
Thanks!
A: *

*We could take the model that has better accuracy on test set and consider its feature importance as better

*Compute feature importance from xgboost and compare the results

*Assuming that features SM/SL/SB and LM/LH/LG represent the 2 multi-classes, it looks like ET has grouped those variables together unlike RF  

