code: def feature_importance(
      model: SklearnModel,
      X: Union[pd.DataFrame, np.ndarray],
      y: np.ndarray,
      variable: int,
      n_k_fold_splits: int = 2,
      n_permutations: int = 10,
  ) -> Tuple[List[float], List[float]]:
      """
      Assess the importance to the RMSE of a single column of the covariate matrix
  
      Parameters
      ----------
      model: SklearnModel
          An instance of the model with the parameters to train with
          The model instance itself doesn't have to be trained
      X: np.ndarray
          Covariate matrix
      y: np.ndarray
          Target array
      variable: int
          Which column of the covariate matrix to assess
      n_k_fold_splits: int
          How many folds to take of the covariate matrix
      n_permutations: int
          How many runs of the model to make when generating the null distribution
          The more permutations, the better the approximation to the true null, but the more computation will be required
  
      Returns
      -------
      Tuple[List[float], List[float]]
          First entry is a List of the RMSEs of the original model
          Second entry is a list of RMSEs of the null distribution
      """
      original_model = original_model_rmse(model, X, y, n_k_fold_splits)
      null_distribution = null_rmse_distribution(
          model, X, y, variable, n_k_fold_splits, n_permutations
      )
  
      plt.hist(null_distribution, label="Null Distribution")
      plt.hist(original_model, label="Original Model")
      plt.title(
          "RMSE of full model against null distribution for variable {}".format(
              variable
          )
      )
      plt.xlabel("RMSE")
      plt.ylabel("Density")
  
      return original_model, null_distribution
  
file_path: imodels/imodels/experimental/bartpy/features/featureimportance.py
imports: from copy import deepcopy
  from typing import List, Tuple, Union
  import numpy
  import pandas
  from matplotlib import pyplot
  from sklearn.model_selection import KFold
  from ..runner import run_models
  from ..sklearnmodel import SklearnModel
label_desc: Use image node_id 3 for calling a global function with example usage: feature_importance(model, X, y, variable, n_k_fold_splits, n_permutations) and returns: original_model,  null_distribution