Skip to content

Commit 1fc4901

Browse files
committed
add normalization to enhance numerical stability
1 parent 38f35fc commit 1fc4901

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

hypernets/tabular/sklearn_ex.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
from sklearn.impute import SimpleImputer
1515
from sklearn.metrics import log_loss, mean_squared_error
1616
from sklearn.model_selection import train_test_split
17-
from sklearn.preprocessing import LabelEncoder, KBinsDiscretizer, OrdinalEncoder, StandardScaler, OneHotEncoder
17+
from sklearn.preprocessing import LabelEncoder, KBinsDiscretizer, OrdinalEncoder, StandardScaler, OneHotEncoder, \
18+
MinMaxScaler
1819
from sklearn.utils import column_or_1d
1920
from sklearn.utils.validation import check_is_fitted
2021

@@ -374,6 +375,28 @@ def transform(self, X):
374375
return X
375376

376377

378+
@tb_transformer(pd.DataFrame)
379+
class MinMaxScalerTransformer(BaseEstimator):
380+
def __init__(self, columns, copy=True):
381+
super(MinMaxScalerTransformer, self).__init__()
382+
383+
self.scaler = MinMaxScaler(copy=copy)
384+
self.copy = copy
385+
self.columns = columns
386+
387+
def fit(self, X, y=None):
388+
df_continuous = X[self.columns]
389+
self.scaler.fit(df_continuous.values)
390+
return self
391+
392+
def transform(self, X):
393+
df_continuous = X[self.columns]
394+
np_continuous = self.scaler.transform(df_continuous.values)
395+
for i, v in enumerate(self.columns):
396+
X[v] = np_continuous[:, i]
397+
return X
398+
399+
377400
@tb_transformer(pd.DataFrame)
378401
class SkewnessKurtosisTransformer(BaseEstimator):
379402
def __init__(self, transform_fn=None, skew_threshold=0.5, kurtosis_threshold=0.5):

0 commit comments

Comments
 (0)