diff --git a/src/feature_creation/node/utils.cpp b/src/feature_creation/node/utils.cpp index cf732d43fb9bd1fa72d4b72b2e774d11f9ec19eb..27377d23e2efdea26d56339509db9a368e138bfc 100644 --- a/src/feature_creation/node/utils.cpp +++ b/src/feature_creation/node/utils.cpp @@ -74,16 +74,16 @@ node_ptr str2node::postfix2node(const std::string postfix_expr, const std::vecto if(op_terms[0] == "add") { #ifndef PARAMETERIZE - stack[stack.size() - 2] = std::make_shared<AddNode>(stack[stack.size() - 2], stack[stack.size() - 1], feat_ind); + stack[stack.size() - 2] = std::make_shared<AddNode>(stack[stack.size() - 1], stack[stack.size() - 2], feat_ind); #else if(op_terms.size() > 1) { - stack[stack.size() - 2] = std::make_shared<AddParamNode>(stack[stack.size() - 2], stack[stack.size() - 1], feat_ind); + stack[stack.size() - 2] = std::make_shared<AddParamNode>(stack[stack.size() - 1], stack[stack.size() - 2], feat_ind); set_parameters(stack[stack.size() - 2], op_terms); } else { - stack[stack.size() - 2] = std::make_shared<AddNode>(stack[stack.size() - 2], stack[stack.size() - 1], feat_ind); + stack[stack.size() - 2] = std::make_shared<AddNode>(stack[stack.size() - 1], stack[stack.size() - 2], feat_ind); } #endif stack.pop_back(); @@ -91,16 +91,16 @@ node_ptr str2node::postfix2node(const std::string postfix_expr, const std::vecto else if(op_terms[0] == "sub") { #ifndef PARAMETERIZE - stack[stack.size() - 2] = std::make_shared<SubNode>(stack[stack.size() - 2], stack[stack.size() - 1], feat_ind); + stack[stack.size() - 2] = std::make_shared<SubNode>(stack[stack.size() - 1], stack[stack.size() - 2], feat_ind); #else if(op_terms.size() > 1) { - stack[stack.size() - 2] = std::make_shared<SubParamNode>(stack[stack.size() - 2], stack[stack.size() - 1], feat_ind); + stack[stack.size() - 2] = std::make_shared<SubParamNode>(stack[stack.size() - 1], stack[stack.size() - 2], feat_ind); set_parameters(stack[stack.size() - 2], op_terms); } else { - stack[stack.size() - 2] = std::make_shared<SubNode>(stack[stack.size() - 2], stack[stack.size() - 1], feat_ind); + stack[stack.size() - 2] = std::make_shared<SubNode>(stack[stack.size() - 1], stack[stack.size() - 2], feat_ind); } #endif stack.pop_back(); @@ -108,16 +108,16 @@ node_ptr str2node::postfix2node(const std::string postfix_expr, const std::vecto else if(op_terms[0] == "abd") { #ifndef PARAMETERIZE - stack[stack.size() - 2] = std::make_shared<AbsDiffNode>(stack[stack.size() - 2], stack[stack.size() - 1], feat_ind); + stack[stack.size() - 2] = std::make_shared<AbsDiffNode>(stack[stack.size() - 1], stack[stack.size() - 2], feat_ind); #else if(op_terms.size() > 1) { - stack[stack.size() - 2] = std::make_shared<AbsDiffParamNode>(stack[stack.size() - 2], stack[stack.size() - 1], feat_ind); + stack[stack.size() - 2] = std::make_shared<AbsDiffParamNode>(stack[stack.size() - 1], stack[stack.size() - 2], feat_ind); set_parameters(stack[stack.size() - 2], op_terms); } else { - stack[stack.size() - 2] = std::make_shared<AbsDiffNode>(stack[stack.size() - 2], stack[stack.size() - 1], feat_ind); + stack[stack.size() - 2] = std::make_shared<AbsDiffNode>(stack[stack.size() - 1], stack[stack.size() - 2], feat_ind); } #endif stack.pop_back(); @@ -125,16 +125,16 @@ node_ptr str2node::postfix2node(const std::string postfix_expr, const std::vecto else if(op_terms[0] == "mult") { #ifndef PARAMETERIZE - stack[stack.size() - 2] = std::make_shared<MultNode>(stack[stack.size() - 2], stack[stack.size() - 1], feat_ind); + stack[stack.size() - 2] = std::make_shared<MultNode>(stack[stack.size() - 1], stack[stack.size() - 2], feat_ind); #else if(op_terms.size() > 1) { - stack[stack.size() - 2] = std::make_shared<MultParamNode>(stack[stack.size() - 2], stack[stack.size() - 1], feat_ind); + stack[stack.size() - 2] = std::make_shared<MultParamNode>(stack[stack.size() - 1], stack[stack.size() - 2], feat_ind); set_parameters(stack[stack.size() - 2], op_terms); } else { - stack[stack.size() - 2] = std::make_shared<MultNode>(stack[stack.size() - 2], stack[stack.size() - 1], feat_ind); + stack[stack.size() - 2] = std::make_shared<MultNode>(stack[stack.size() - 1], stack[stack.size() - 2], feat_ind); } #endif stack.pop_back(); @@ -142,16 +142,16 @@ node_ptr str2node::postfix2node(const std::string postfix_expr, const std::vecto else if(op_terms[0] == "div") { #ifndef PARAMETERIZE - stack[stack.size() - 2] = std::make_shared<DivNode>(stack[stack.size() - 2], stack[stack.size() - 1], feat_ind); + stack[stack.size() - 2] = std::make_shared<DivNode>(stack[stack.size() - 1], stack[stack.size() - 2], feat_ind); #else if(op_terms.size() > 1) { - stack[stack.size() - 2] = std::make_shared<DivParamNode>(stack[stack.size() - 2], stack[stack.size() - 1], feat_ind); + stack[stack.size() - 2] = std::make_shared<DivParamNode>(stack[stack.size() - 1], stack[stack.size() - 2], feat_ind); set_parameters(stack[stack.size() - 2], op_terms); } else { - stack[stack.size() - 2] = std::make_shared<DivNode>(stack[stack.size() - 2], stack[stack.size() - 1], feat_ind); + stack[stack.size() - 2] = std::make_shared<DivNode>(stack[stack.size() - 1], stack[stack.size() - 2], feat_ind); } #endif stack.pop_back(); diff --git a/tests/pytest/test_feature_creation/test_feature_space/test_gen_feature_space_from_file.py b/tests/pytest/test_feature_creation/test_feature_space/test_gen_feature_space_from_file.py index 07b038da068df6acb89fbdf400fba9f9c11c04a1..cc39c5a3d2211809d909d9ffc7ca4200bdaaba0f 100644 --- a/tests/pytest/test_feature_creation/test_feature_space/test_gen_feature_space_from_file.py +++ b/tests/pytest/test_feature_creation/test_feature_space/test_gen_feature_space_from_file.py @@ -48,13 +48,13 @@ def test_gen_feature_space_from_file(): f"{parent}/phi.txt", phi_0, prop, task_sizes_train, "regression", 1, 1.0, [] ) feat_space.sis(prop) - assert feat_space.phi_selected[0].postfix_expr == "1|0|add|sq" + assert feat_space.phi_selected[0].postfix_expr == "0|1|add|sq" feat_space = FeatureSpace( f"{parent}/phi.txt", phi_0, list(prop), task_sizes_train, "regression", 1, 1.0 ) feat_space.sis(prop) - assert feat_space.phi_selected[0].postfix_expr == "1|0|add|sq" + assert feat_space.phi_selected[0].postfix_expr == "0|1|add|sq" if __name__ == "__main__": diff --git a/tests/pytest/test_feature_creation/test_feature_space/test_gen_feature_space_selected_from_file.py b/tests/pytest/test_feature_creation/test_feature_space/test_gen_feature_space_selected_from_file.py index cda96a5a3ecfcc27ed065aa735124e998b2be769..327b98b2156d14acb9289531746fe10599ef8d6e 100644 --- a/tests/pytest/test_feature_creation/test_feature_space/test_gen_feature_space_selected_from_file.py +++ b/tests/pytest/test_feature_creation/test_feature_space/test_gen_feature_space_selected_from_file.py @@ -28,8 +28,8 @@ def test_gen_feature_space_from_file(): str(parent / "selected_features.txt"), inputs.phi_0, [] ) - assert phi_sel[0].postfix_expr == "3|2|add|3|abs|add" - assert phi_sel[1].postfix_expr == "1|0|div|0|div" + assert phi_sel[0].postfix_expr == "3|abs|2|3|add|add" + assert phi_sel[1].postfix_expr == "0|0|1|div|div" if __name__ == "__main__":