Esempio n. 1
0
    def test_to_and_from_json(self):
        # training data
        d = {
            "col1": [1, 2, 3, 4, 5, 6, 7, 8.0, 9, 10],
            "col2": [21, 22.0, 23, 24, 25, 26, 27, 28, 29, 30],
        }
        df = pd.DataFrame(data=d)

        scale = PreprocessingScale(["col1"])
        scale.fit(df)
        # do not transform
        assert_almost_equal(np.mean(df["col1"]), 5.5)
        assert_almost_equal(np.mean(df["col2"]), 25.5)
        # to and from json

        json_data = scale.to_json()
        print(json_data)
        scale2 = PreprocessingScale()
        scale2.from_json(json_data)
        # transform with loaded scaler
        df = scale2.transform(df)
        assert_almost_equal(np.mean(df["col1"]), 0)
        assert_almost_equal(np.mean(df["col2"]), 25.5)
Esempio n. 2
0
 def from_json(self, data_json):
     if "remove_columns" in data_json:
         self._remove_columns = data_json.get("remove_columns", [])
     if "missing_values" in data_json:
         self._missing_values = []
         for mv_data in data_json["missing_values"]:
             mv = PreprocessingMissingValues()
             mv.from_json(mv_data)
             self._missing_values += [mv]
     if "categorical" in data_json:
         self._categorical = []
         for cat_data in data_json["categorical"]:
             cat = PreprocessingCategorical()
             cat.from_json(cat_data)
             self._categorical += [cat]
     if "scale" in data_json:
         self._scale = []
         for scale_data in data_json["scale"]:
             sc = PreprocessingScale()
             sc.from_json(scale_data)
             self._scale += [sc]
     if "categorical_y" in data_json:
         self._categorical_y = LabelEncoder()
         self._categorical_y.from_json(data_json["categorical_y"])