docstr: Return the expected time to compute permutation feature importance for a single feature on n_total_sample datapoints.
  Assumes baseline validation score has already been computed. TODO: Take into account speedup from parallel feature
  processing and slowdown from permutation.
docstr_tok: ["Return","the","expected","time","to","compute","permutation","feature","importance","for","a","single","feature","on","n_total_sample","datapoints",".","Assumes","baseline","validation","score","has","already","been","computed",".","TODO",":","Take","into","account","speedup","from","parallel","feature","processing","and","slowdown","from","permutation","."]
code: def compute_expected_fi_time_single(
      self,
      X_fi: pd.DataFrame,
      model_predict_time: float,
      n_subsample: int,
      n_total_sample: int,
  ) -> float:
      """
      Return the expected time to compute permutation feature importance for a single feature on n_total_sample datapoints.
      Assumes baseline validation score has already been computed. TODO: Take into account speedup from parallel feature
      processing and slowdown from permutation.
      """
      n_subsample = min(n_subsample, len(X_fi))
      n_shuffle = min(
          np.ceil(n_total_sample / n_subsample).astype(int),
          self.max_n_shuffle,
      )
      return model_predict_time * (
          (n_subsample / len(X_fi)) * n_shuffle
      )
  
imports: import logging
  import time
  import traceback
  import uuid
  from copy import deepcopy
  from typing import List, Set, Tuple, Union
  import numpy
  import pandas
  from autogluon.common.features.types import R_FLOAT
  from ..models.abstract.abstract_model import AbstractModel
  from ..models.ensemble.bagged_ensemble_model import BaggedEnsembleModel
  from ..utils.exceptions import TimeLimitExceeded
  from ..utils.utils import generate_train_test_split, unevaluated_fi_df_template
label_desc: Use image node_id 6 for calling the FeatureSelector obj's underlying member method code with example usage: obj.compute_expected_fi_time_single(X_fi, model_predict_time, n_subsample, n_total_sample) and returns: unknown