MST change unordered_set to list
This commit is contained in:
@@ -8,13 +8,7 @@ using namespace std;
|
||||
|
||||
TEST_CASE("Metrics Test", "[BayesNet]")
|
||||
{
|
||||
// string file_name = GENERATE("glass", "iris", "ecoli", "diabetes");
|
||||
string file_name = "glass";
|
||||
//
|
||||
//
|
||||
// OJO CAMBIAR
|
||||
//
|
||||
//
|
||||
string file_name = GENERATE("glass", "iris", "ecoli", "diabetes");
|
||||
map<string, pair<int, vector<int>>> resultsKBest = {
|
||||
{"glass", {7, { 0, 1, 7, 6, 3, 5, 2 }}},
|
||||
{"iris", {3, { 0, 3, 2 }} },
|
||||
@@ -27,12 +21,15 @@ TEST_CASE("Metrics Test", "[BayesNet]")
|
||||
{"ecoli", 0.0089431099},
|
||||
{"diabetes", 0.0345470614}
|
||||
};
|
||||
map<string, vector<pair<int, int>>> resultsMST = {
|
||||
//{"glass", {{0,6}, {0,5}, {0,3}, {6,2}, {6,7}, {5,1}, {5,8}, {5,4}}},
|
||||
{"glass", {{0,6}, {0,5}, {0,3}, {5,1}, {5,8}, {5,4}, {6,2}, {6,7}}},
|
||||
{"iris", {{0,1},{0,2},{1,3}}},
|
||||
{"ecoli", {{0,1}, {0,2}, {1,5}, {1,3}, {5,6}, {5,4}}},
|
||||
{"diabetes", {{0,7}, {0,2}, {0,6}, {2,3}, {3,4}, {3,5}, {4,1}}}
|
||||
map<pair<string, int>, vector<pair<int, int>>> resultsMST = {
|
||||
{ {"glass", 0}, { {0, 6}, {0, 5}, {0, 3}, {5, 1}, {5, 8}, {5, 4}, {6, 2}, {6, 7} } },
|
||||
{ {"glass", 1}, { {1, 5}, {5, 0}, {5, 8}, {5, 4}, {0, 6}, {0, 3}, {6, 2}, {6, 7} } },
|
||||
{ {"iris", 0}, { {0, 1}, {0, 2}, {1, 3} } },
|
||||
{ {"iris", 1}, { {1, 0}, {1, 3}, {0, 2} } },
|
||||
{ {"ecoli", 0}, { {0, 1}, {0, 2}, {1, 5}, {1, 3}, {5, 6}, {5, 4} } },
|
||||
{ {"ecoli", 1}, { {1, 0}, {1, 5}, {1, 3}, {5, 6}, {5, 4}, {0, 2} } },
|
||||
{ {"diabetes", 0}, { {0, 7}, {0, 2}, {0, 6}, {2, 3}, {3, 4}, {3, 5}, {4, 1} } },
|
||||
{ {"diabetes", 1}, { {1, 4}, {4, 3}, {3, 2}, {3, 5}, {2, 0}, {0, 7}, {0, 6} } }
|
||||
};
|
||||
auto raw = RawDatasets(file_name, true);
|
||||
bayesnet::Metrics metrics(raw.dataset, raw.featurest, raw.classNamet, raw.classNumStates);
|
||||
@@ -58,14 +55,9 @@ TEST_CASE("Metrics Test", "[BayesNet]")
|
||||
SECTION("Test Maximum Spanning Tree")
|
||||
{
|
||||
auto weights_matrix = metrics.conditionalEdge(raw.weights);
|
||||
cout << "Weights matrix: " << endl;
|
||||
for (int i = 0; i < static_cast<int>(raw.featurest.size()); ++i) {
|
||||
for (int j = 0; j < static_cast<int>(raw.featurest.size()); ++j) {
|
||||
cout << setw(10) << setprecision(7) << fixed << weights_matrix[i][j].item<float>() << ", ";
|
||||
}
|
||||
cout << endl;
|
||||
for (int i = 0; i < 2; ++i) {
|
||||
auto result = metrics.maximumSpanningTree(raw.featurest, weights_matrix, i);
|
||||
REQUIRE(result == resultsMST.at({ file_name, i }));
|
||||
}
|
||||
auto result = metrics.maximumSpanningTree(raw.featurest, weights_matrix, 0);
|
||||
REQUIRE(result == resultsMST.at(file_name));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user