class_docstr: Iterative estimation of row and column centering/scaling
  using the algorithm from page 31 of:
      Matrix Completion and Low-Rank SVD via Fast Alternating Least Squares
code: def transform(self, X):
      X = np.asarray(X).copy()
      X = self.center(
          X, self.row_means, self.column_means, inplace=True
      )
      X = self.rescale(
          X, self.row_scales, self.column_scales, inplace=True
      )
      return X
  
imports: import numpy
label_desc: Use image node_id 11 for calling the BiScaler obj's underlying member method code with example usage: obj.transform(X) and returns: X