code: def explain_rf_feature_importance(estimator,
                                    vec=None,
                                    top=_TOP,
                                    target_names=None,  # ignored
                                    targets=None,  # ignored
                                    feature_names=None,
                                    feature_re=None,
                                    feature_filter=None,
                                    ):
      
      coef = estimator.feature_importances_
      trees = np.array(estimator.estimators_).ravel()
      coef_std = np.std([tree.feature_importances_ for tree in trees], axis=0)
      return get_feature_importance_explanation(estimator, vec, coef,
          coef_std=coef_std,
          feature_names=feature_names,
          feature_filter=feature_filter,
          feature_re=feature_re,
          top=top,
          description=DESCRIPTION_RANDOM_FOREST,
          is_regression=isinstance(estimator, RegressorMixin),
      )
docs: Return an explanation of a tree-based ensemble estimator.
  
      See :func:`eli5.explain_weights` for description of
      ``top``, ``feature_names``, ``feature_re`` and ``feature_filter``
      parameters.
  
      ``target_names`` and ``targets`` parameters are ignored.
  
      ``vec`` is a vectorizer instance used to transform
      raw features to the input of the estimator (e.g. a fitted
      CountVectorizer instance); you can pass it instead of ``feature_names``.