Force mutual information methods to be at least 0
There were cases where a tiny negative number was returned (less than -1e-7) Fix mst glass test that is affected with this change
This commit is contained in:
@@ -11,7 +11,6 @@
|
||||
#include "TestUtils.h"
|
||||
#include "Timer.h"
|
||||
|
||||
|
||||
TEST_CASE("Metrics Test", "[Metrics]")
|
||||
{
|
||||
std::string file_name = GENERATE("glass", "iris", "ecoli", "diabetes");
|
||||
@@ -28,8 +27,8 @@ TEST_CASE("Metrics Test", "[Metrics]")
|
||||
{"diabetes", 0.0345470614}
|
||||
};
|
||||
map<pair<std::string, int>, std::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} } },
|
||||
{ {"glass", 0}, { {0, 6}, {0, 5}, {0, 3}, {3, 4}, {5, 1}, {5, 8}, {6, 2}, {6, 7} } },
|
||||
{ {"glass", 1}, { {1, 5}, {5, 0}, {5, 8}, {0, 6}, {0, 3}, {3, 4}, {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} } },
|
||||
|
@@ -22,7 +22,7 @@ TEST_CASE("Build basic model", "[BoostA2DE]")
|
||||
REQUIRE(clf.getNumberOfEdges() == 684);
|
||||
REQUIRE(clf.getNotes().size() == 3);
|
||||
REQUIRE(clf.getNotes()[0] == "Convergence threshold reached & 15 models eliminated");
|
||||
REQUIRE(clf.getNotes()[1] == "Used pairs not used in train: 20");
|
||||
REQUIRE(clf.getNotes()[1] == "Pairs not used in train: 20");
|
||||
REQUIRE(clf.getNotes()[2] == "Number of models: 38");
|
||||
auto score = clf.score(raw.Xv, raw.yv);
|
||||
REQUIRE(score == Catch::Approx(0.919271).epsilon(raw.epsilon));
|
||||
|
Reference in New Issue
Block a user