class_docstr: Implementation of the permutation feature importance for tabular datasets. The method measure the importance
  of a feature as the relative increase/decrease in the loss/score function when the feature values are permuted.
  Supports black-box models.
  
  For details of the method see the papers:
  
   - https://link.springer.com/article/10.1023/A:1010933404324
  
   - https://arxiv.org/abs/1801.01489
docstr: Helper function to compute the feature importance as the metric ratio or the metric difference
  based on the `kind` parameter and `lower_is_better` flag.
  
  Parameters
  ----------
  metric_orig
      Metric value when the feature values are left intact.
  metric_permuted
      Metric value when the feature value are permuted.
  kind
      See :py:meth:`alibi.explainers.permutation_importance.PermutationImportance.explain`.
  lower_is_better
      See :py:meth:`alibi.explainers.permutation_importance.PermutationImportance._compute_importances.
  
  Returns
  -------
  Importance score.
docstr_tok: ["Helper","function","to","compute","the","feature","importance","as","the","metric","ratio","or","the","metric","difference","based","on","the","`","kind","`","parameter","and","`","lower_is_better","`","flag",".","Parameters","--","--","--","--","--","metric_orig","Metric","value","when","the","feature","values","are","left","intact",".","metric_permuted","Metric","value","when","the","feature","value","are","permuted",".","kind","See",":","py",":","meth",":","`","alibi.explainers.permutation_importance.PermutationImportance.explain","`",".","lower_is_better","See",":","py",":","meth",":","`","alibi.explainers.permutation_importance.PermutationImportance._compute_importances",".","Returns","--","--","--","-","Importance","score","."]
code: def _compute_importance(
      metric_orig: float,
      metric_permuted: float,
      kind: str,
      lower_is_better: bool,
  ) -> float:
      """
      Helper function to compute the feature importance as the metric ratio or the metric difference
      based on the `kind` parameter and `lower_is_better` flag.
  
      Parameters
      ----------
      metric_orig
          Metric value when the feature values are left intact.
      metric_permuted
          Metric value when the feature value are permuted.
      kind
          See :py:meth:`alibi.explainers.permutation_importance.PermutationImportance.explain`.
      lower_is_better
          See :py:meth:`alibi.explainers.permutation_importance.PermutationImportance._compute_importances.
  
      Returns
      -------
      Importance score.
      """
      if lower_is_better:
          return (
              metric_permuted / metric_orig
              if kind == Kind.RATIO
              else metric_permuted - metric_orig
          )
  
      return (
          metric_orig / metric_permuted
          if kind == Kind.RATIO
          else metric_orig - metric_permuted
      )
  
imports: import copy
  import inspect
  import logging
  import math
  import numbers
  import sys
  from collections import defaultdict
  from copy import deepcopy
  from enum import Enum
  from typing import Any, Callable, Dict, List, Optional, Tuple, Union, no_type_check
  import matplotlib.pyplot
  import numpy
  import sklearn.metrics
  from tqdm import tqdm
  from alibi.api.defaults import DEFAULT_DATA_PERMUTATION_IMPORTANCE, DEFAULT_META_PERMUTATION_IMPORTANCE
  from alibi.api.interfaces import Explainer, Explanation
label_desc: Use image node_id 10 for calling the PermutationImportance obj's underlying member method code with example usage: obj._compute_importance(metric_orig, metric_permuted, kind, lower_is_better) and returns: unknown, unknown