class_docstr: Holds all the obtained explanations of a heterogeneous graph.
  
  The explanation object is a :obj:`~torch_geometric.data.HeteroData` object
  and can hold node attributions and edge attributions.
  It can also hold the original graph if needed.
docstr: Returns the induced subgraph, in which all nodes and edges with
  zero attribution are masked out.
docstr_tok: ["Returns","the","induced","subgraph",",","in","which","all","nodes","and","edges","with","zero","attribution","are","masked","out","."]
code: def get_explanation_subgraph(self) -> "HeteroExplanation":
      r"""Returns the induced subgraph, in which all nodes and edges with
      zero attribution are masked out.
      """
      return self._apply_masks(
          node_mask_dict={
              key: mask.sum(dim=-1) > 0
              for key, mask in self.collect("node_mask", True).items()
          },
          edge_mask_dict={
              key: mask > 0
              for key, mask in self.collect("edge_mask", True).items()
          },
      )
  
imports: import copy
  from typing import Dict, List, Optional, Union
  import torch
  from torch import Tensor
  from torch_geometric.data.data import Data, warn_or_raise
  from torch_geometric.data.hetero_data import HeteroData
  from torch_geometric.explain.config import ThresholdConfig, ThresholdType
  from torch_geometric.typing import EdgeType, NodeType
  from torch_geometric.visualization import visualize_graph
label_desc: Use image node_id 2 for calling the HeteroExplanation obj's underlying member method code with example usage: obj.get_explanation_subgraph() and returns: self