Why does Feature Importance change with each iteration of a Decision Tree Classifier?
From sklearn.tree.DecisionTreeClassifier help:


  The features are always randomly permuted at each split. Therefore, the best found split may vary, even with the same training data and max_features=n_features, if the improvement of the criterion is identical for several splits enumerated during the search of the best split. To obtain a deterministic behaviour during fitting, random_state has to be fixed.


Also, you might want to have a look at my critique on feature importance.