code: def feature_importances_(self):
          
          if getattr(self, 'booster', None) is not None and self.booster != 'gbtree':
              raise AttributeError('Feature importance is not defined for Booster type {}'
                                   .format(self.booster))
          b = self.get_booster()
          score = b.get_score(importance_type=self.importance_type)
          all_features = [score.get(f, 0.) for f in b.feature_names]
          all_features = np.array(all_features, dtype=np.float32)
          return all_features / all_features.sum()
docs: Feature importances property
  
          .. note:: Feature importance is defined only for tree boosters
  
              Feature importance is only defined when the decision tree model is chosen as base
              learner (`booster=gbtree`). It is not defined for other base learner types, such
              as linear learners (`booster=gblinear`).
  
          Returns
          -------
          feature_importances_ : array of shape ``[n_features]``