code: def characterization_score(
      pos_fidelity: Tensor,
      neg_fidelity: Tensor,
      pos_weight: float = 0.5,
      neg_weight: float = 0.5,
  ) -> Tensor:
      r"""Returns the componentwise characterization score as described in the
      `"GraphFramEx: Towards Systematic Evaluation of Explainability Methods for
      Graph Neural Networks" <https://arxiv.org/abs/2206.09677>`_ paper.
  
      ..  math::
         \textrm{charact} = \frac{w_{+} + w_{-}}{\frac{w_{+}}{\textrm{fid}_{+}} +
          \frac{w_{-}}{1 - \textrm{fid}_{-}}}
  
      Args:
          pos_fidelity (torch.Tensor): The positive fidelity
              :math:`\textrm{fid}_{+}`.
          neg_fidelity (torch.Tensor): The negative fidelity
              :math:`\textrm{fid}_{-}`.
          pos_weight (float, optional): The weight :math:`w_{+}` for
              :math:`\textrm{fid}_{+}`. (default: :obj:`0.5`)
          neg_weight (float, optional): The weight :math:`w_{-}` for
              :math:`\textrm{fid}_{-}`. (default: :obj:`0.5`)
      """
      if (pos_weight + neg_weight) != 1.0:
          raise ValueError(
              f"The weights need to sum up to 1 "
              f"(got {pos_weight} and {neg_weight})"
          )
  
      denom = (pos_weight / pos_fidelity) + (
          neg_weight / (1.0 - neg_fidelity)
      )
      return 1.0 / denom
  
file_path: pytorch_geometric/torch_geometric/explain/metric/fidelity.py
imports: from typing import Tuple
  import torch
  from torch import Tensor
  from torch_geometric.explain import Explainer, Explanation
  from torch_geometric.explain.config import ExplanationType, ModelMode
label_desc: Use image node_id 2 for calling a global function with example usage: characterization_score(pos_fidelity, neg_fidelity, pos_weight, neg_weight) and returns: unknown