def test_log_base_10_plus_user_passes_var_list(df_vartypes): # test case 2: log base 10, user passes variables transformer = LogTransformer(base="10", variables="Age") X = transformer.fit_transform(df_vartypes) # expected output transf_df = df_vartypes.copy() transf_df["Age"] = [1.30103, 1.32222, 1.27875, 1.25527] # test init params assert transformer.base == "10" assert transformer.variables == "Age" # test fit attr assert transformer.variables_ == ["Age"] assert transformer.n_features_in_ == 5 # test transform output pd.testing.assert_frame_equal(X, transf_df) # test inverse_transform Xit = transformer.inverse_transform(X) # convert numbers to original format. Xit["Age"] = Xit["Age"].round().astype("int64") # test pd.testing.assert_frame_equal(Xit, df_vartypes)
def test_log_base_e_plus_automatically_find_variables(df_vartypes): # test case 1: log base e, automatically select variables transformer = LogTransformer(base="e", variables=None) X = transformer.fit_transform(df_vartypes) # expected output transf_df = df_vartypes.copy() transf_df["Age"] = [2.99573, 3.04452, 2.94444, 2.89037] transf_df["Marks"] = [-0.105361, -0.223144, -0.356675, -0.510826] # test init params assert transformer.base == "e" assert transformer.variables is None # test fit attr assert transformer.variables_ == ["Age", "Marks"] assert transformer.n_features_in_ == 5 # test transform output pd.testing.assert_frame_equal(X, transf_df) # test inverse_transform Xit = transformer.inverse_transform(X) # convert numbers to original format. Xit["Age"] = Xit["Age"].round().astype("int64") Xit["Marks"] = Xit["Marks"].round(1) # test pd.testing.assert_frame_equal(Xit, df_vartypes)
def test_inverse_e_plus_user_passes_var_list(df_vartypes): # test case 7: inverse log, user passes variables transformer = LogTransformer(variables="Age") Xt = transformer.fit_transform(df_vartypes) X = transformer.inverse_transform(Xt) # convert floats to int X["Age"] = X["Age"].round().astype("int64") # test init params assert transformer.base == "e" assert transformer.variables == "Age" # test fit attr assert transformer.variables_ == ["Age"] assert transformer.n_features_in_ == 5 # test transform output pd.testing.assert_frame_equal(X, df_vartypes)