From f86acf8be2c01568d8b3dcd2e529ee9f20f7585e Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Wed, 28 Oct 2015 13:02:16 -0700 Subject: [PATCH] Fix #464: the assert was not valid. --- src/mlpack/methods/det/dt_utils.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mlpack/methods/det/dt_utils.cpp b/src/mlpack/methods/det/dt_utils.cpp index d6412a38b8..0bd0e11367 100644 --- a/src/mlpack/methods/det/dt_utils.cpp +++ b/src/mlpack/methods/det/dt_utils.cpp @@ -154,11 +154,13 @@ DTree* mlpack::det::Trainer(arma::mat& dataset, oldAlpha = alpha; alpha = dtree.PruneAndUpdate(oldAlpha, dataset.n_cols, useVolumeReg); - // Some sanity checks. + // Some sanity checks. It seems that on some datasets, the error does not + // increase as the tree is pruned but instead stays the same---hence the + // "<=" in the final assert. Log::Assert((alpha < std::numeric_limits::max()) || (dtree.SubtreeLeaves() == 1)); Log::Assert(alpha > oldAlpha); - Log::Assert(dtree.SubtreeLeavesLogNegError() < treeSeq.second); + Log::Assert(dtree.SubtreeLeavesLogNegError() <= treeSeq.second); } std::pair treeSeq(oldAlpha,