class_docstr: Performs Winsorization 1->1*
  
  Warning: this class should not be used directly.
code: def train(self, X):
      # get winsor limits
      self.winsor_lims = np.ones([2, X.shape[1]]) * np.inf
      self.winsor_lims[0, :] = -np.inf
      if self.trim_quantile > 0:
          for i_col in np.arange(X.shape[1]):
              lower = np.percentile(
                  X[:, i_col], self.trim_quantile * 100
              )
              upper = np.percentile(
                  X[:, i_col], 100 - self.trim_quantile * 100
              )
              self.winsor_lims[:, i_col] = [lower, upper]
  
file_path: imodels/imodels/util/transforms.py
imports: import numpy
label_desc: Use image node_id 2 for calling the Winsorizer obj's underlying member method code with example usage: obj.train(X) without return types