code: def test_component_mask_transformation(self):
      scaler = Scaler(MinMaxScaler())
      # shape = (10, 3, 2)
      vals = np.array([np.arange(6).reshape(3, 2)] * 10)
  
      # scalers should only consider True columns
      component_mask = np.array([True, False, True])
  
      s = TimeSeries.from_values(vals)
      ss = scaler.fit_transform(s, component_mask=component_mask)
      ss_vals = ss.all_values(copy=False)
  
      # test non-masked columns
      assert (ss_vals[:, 1, :] == vals[:, 1, :]).all()
      # test masked columns
      assert round(abs(ss_vals[:, [0, 2], :].max() - 1.0), 7) == 0
      assert round(abs(ss_vals[:, [0, 2], :].min() - 0.0), 7) == 0
  
      ssi = scaler.inverse_transform(ss, component_mask=component_mask)
  
      # Test inverse transform
      np.testing.assert_allclose(s.all_values(), ssi.all_values())
  
file_path: darts/darts/tests/dataprocessing/transformers/test_data_transformer.py
imports: import numpy
  from sklearn.preprocessing import MinMaxScaler, StandardScaler
  from darts import TimeSeries
  from darts.dataprocessing.transformers import Scaler
  from darts.utils import timeseries_generation
  from darts.utils.timeseries_generation import linear_timeseries, sine_timeseries
label_desc: Use image node_id 4 for calling the TestDataTransformer obj's underlying member method code with example usage: obj.test_component_mask_transformation() without return types