#!/usr/bin/env python # coding: utf-8 # In[1]: import numpy as np from sklearn.datasets import load_iris from sklearn.preprocessing import MaxAbsScaler as skMaxAbsScaler # In[2]: class MaxAbsScaler(): def fit(self, X): self.scale_ = np.max(np.abs(X), axis=0) return self def transform(self, X): return X / self.scale_ # In[3]: X, _ = load_iris(return_X_y=True) sc1 = MaxAbsScaler().fit(X) sc2 = skMaxAbsScaler().fit(X) assert np.allclose(sc1.scale_, sc2.scale_) Xt1 = sc1.transform(X) Xt2 = sc2.transform(X) assert np.allclose(Xt1, Xt2)