Skip to content

Commit

Permalink
add normalization to enhance numerical stability
Browse files Browse the repository at this point in the history
  • Loading branch information
oaksharks committed Jul 19, 2024
1 parent 38f35fc commit 1fc4901
Showing 1 changed file with 24 additions and 1 deletion.
25 changes: 24 additions & 1 deletion hypernets/tabular/sklearn_ex.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@
from sklearn.impute import SimpleImputer
from sklearn.metrics import log_loss, mean_squared_error
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder, KBinsDiscretizer, OrdinalEncoder, StandardScaler, OneHotEncoder
from sklearn.preprocessing import LabelEncoder, KBinsDiscretizer, OrdinalEncoder, StandardScaler, OneHotEncoder, \
MinMaxScaler
from sklearn.utils import column_or_1d
from sklearn.utils.validation import check_is_fitted

Expand Down Expand Up @@ -374,6 +375,28 @@ def transform(self, X):
return X


@tb_transformer(pd.DataFrame)
class MinMaxScalerTransformer(BaseEstimator):
def __init__(self, columns, copy=True):
super(MinMaxScalerTransformer, self).__init__()

self.scaler = MinMaxScaler(copy=copy)
self.copy = copy
self.columns = columns

def fit(self, X, y=None):
df_continuous = X[self.columns]
self.scaler.fit(df_continuous.values)
return self

def transform(self, X):
df_continuous = X[self.columns]
np_continuous = self.scaler.transform(df_continuous.values)
for i, v in enumerate(self.columns):
X[v] = np_continuous[:, i]
return X


@tb_transformer(pd.DataFrame)
class SkewnessKurtosisTransformer(BaseEstimator):
def __init__(self, transform_fn=None, skew_threshold=0.5, kurtosis_threshold=0.5):
Expand Down

0 comments on commit 1fc4901

Please sign in to comment.