code: def explain_decision_tree(estimator,
                            vec=None,
                            top=_TOP,
                            target_names=None,
                            targets=None,  # ignored
                            feature_names=None,
                            feature_re=None,
                            feature_filter=None,
                            **export_graphviz_kwargs):
      
      feature_names = get_feature_names(estimator, vec,
                                        feature_names=feature_names)
      tree_feature_names = feature_names
      feature_names, flt_indices = feature_names.handle_filter(
          feature_filter, feature_re)
      feature_importances = get_feature_importances_filtered(
          estimator.feature_importances_, feature_names, flt_indices, top)
  
      export_graphviz_kwargs.setdefault("proportion", True)
      tree_info = get_tree_info(
          estimator,
          feature_names=tree_feature_names,
          class_names=target_names,
          **export_graphviz_kwargs)
  
      return Explanation(
          feature_importances=feature_importances,
          decision_tree=tree_info,
          description=DESCRIPTION_DECISION_TREE,
          estimator=repr(estimator),
          method='decision tree',
      )
docs: Return an explanation of a decision tree.
  
      See :func:`eli5.explain_weights` for description of
      ``top``, ``target_names``, ``feature_names``,
      ``feature_re`` and ``feature_filter`` parameters.
  
      ``targets`` parameter is 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``.
  
      All other keyword arguments are passed to
      `sklearn.tree.export_graphviz`_ function.
  
      .. _sklearn.tree.export_graphviz: http://scikit-learn.org/stable/modules/generated/sklearn.tree.export_graphviz.html