class_docstr: An estimator that supports building rules as described in
  A Simple, Fast, and Effective Rule Learner (1999). Intended to be used
  as part of the SlipperRulesClassifier.
class_docstr_tok: ["An","estimator","that","supports","building","rules","as","described","in","A","Simple",",","Fast",",","and","Effective","Rule","Learner","(","1999",")",".","Intended","to","be","used","as","part","of","the","SlipperRulesClassifier","."]
docstr: Map features to place holder names
docstr_tok: ["Map","features","to","place","holder","names"]
code: def _make_feature_dict(self, num_features, features):
      """
      Map features to place holder names
      """
      if features is None:
          new_feats = ["X_" + str(i) for i in range(num_features)]
      else:
          new_feats = features
  
      self.feature_dict = {
          old_feat: new_feat
          for old_feat, new_feat in enumerate(new_feats)
      }
  
imports: import random
  import numpy
  from sklearn.base import BaseEstimator, ClassifierMixin
  from sklearn.model_selection import train_test_split
  from imodels.util.arguments import check_fit_arguments
label_desc: Use image node_id 15 for calling the SlipperBaseEstimator obj's underlying member method code with example usage: obj._make_feature_dict(num_features, features) without return types