def test_maui_saves_feature_correlations(): maui_model = Maui(n_hidden=[10], n_latent=2, epochs=1) z = maui_model.fit_transform({"d1": df1, "d2": df2}) r = maui_model.get_feature_correlations() assert r is not None assert hasattr(maui_model, "feature_correlations_")
def test_maui_saves_w(): maui_model = Maui(n_hidden=[10], n_latent=2, epochs=1) z = maui_model.fit_transform({"d1": df1, "d2": df2}) w = maui_model.get_linear_weights() assert w is not None assert hasattr(maui_model, "w_")
def test_validate_X_returns_true_on_valid_data(): maui_model = Maui() valid_data = {"a": df1, "b": df2} assert maui_model._validate_X(valid_data)
def test_dict2array(): maui_model = Maui() arr = maui_model._dict2array({"data1": df1, "data2": df2}) assert arr.shape[0] == len(df1.columns) assert arr.shape[1] == len(df1.index) + len(df2.index)
def test_validate_X_fails_if_samples_mismatch(): maui_model = Maui() with pytest.raises(ValueError): df2_bad = df2.iloc[:, :2] data_with_mismatching_samples = {"a": df1, "b": df2_bad} maui_model._validate_X(data_with_mismatching_samples)
def test_validate_X_fails_if_some_data_empty(): maui_model = Maui() with pytest.raises(ValueError): maui_model._validate_X({"a": df1, "e": df_empty})
def test_maui_supports_single_layer_vae(): maui_model = Maui(n_hidden=None, n_latent=2, epochs=1) maui_model = maui_model.fit({"d1": df1, "d2": df2}) z1 = maui_model.transform({"d1": df1, "d2": df2})
def test_maui_supports_not_deep_deep_vae(): maui_model = Maui(n_hidden=None, n_latent=2, epochs=1, architecture='deep') z = maui_model.fit_transform({'d1': df1, 'd2': df2})
def test_maui_runs_with_deep_not_stacked_vae(): maui_model = Maui(n_hidden=[10], n_latent=2, epochs=1, architecture="deep") z = maui_model.fit_transform({"d1": df1, "d2": df2})
def test_maui_complains_if_wrong_architecture(): with pytest.raises(ValueError): maui_model = Maui( n_hidden=[10], n_latent=2, epochs=1, architecture="wrong value" )
def test_maui_produces_pos_and_neg_zs_if_relu_embedding_false(): maui_model = Maui(n_hidden=[10], n_latent=2, epochs=1, relu_embedding=False) maui_model = maui_model.fit({"d1": df1, "d2": df2}) z1 = maui_model.transform({"d1": df1, "d2": df2}) assert not np.all(z1 >= 0)
def test_maui_can_fine_tune(): maui_model = Maui(n_hidden=[], n_latent=2, epochs=1) maui_model = maui_model.fit({"d1": df1, "d2": df2}) maui_model.fine_tune({"d1": df1, "d2": df2}, epochs=1)
def test_maui_saves_feature_correlations(): maui_model = Maui(n_hidden=[10], n_latent=2, epochs=1) z = maui_model.fit_transform({'d1': df1, 'd2': df2}) assert hasattr(maui_model, 'feature_correlations')
def test_validate_X_fails_if_not_dict(): maui_model = Maui() with pytest.raises(ValueError): maui_model._validate_X([1,2,3])
def test_maui_supports_not_deep_deep_vae(): maui_model = Maui(n_hidden=None, n_latent=2, epochs=1, architecture="deep") z = maui_model.fit_transform({"d1": df1, "d2": df2})
def test_maui_produces_nonnegative_zs_if_relu_embedding_true(): maui_model = Maui(n_hidden=[10], n_latent=2, epochs=1, relu_embedding=True) maui_model = maui_model.fit({'d1': df1, 'd2': df2}) z1 = maui_model.transform({'d1': df1, 'd2': df2}) assert np.all(z1>=0)
def test_maui_runs_with_deep_not_stacked_vae(): maui_model = Maui(n_hidden=[10], n_latent=2, epochs=1, architecture='deep') z = maui_model.fit_transform({'d1': df1, 'd2': df2})