[mlpack-git] master: Fix greedy traverser to consider points in non-leaf nodes. (54f7d40)

gitdub at mlpack.org gitdub at mlpack.org
Sat Aug 20 14:56:07 EDT 2016


Repository : https://github.com/mlpack/mlpack
On branch  : master
Link       : https://github.com/mlpack/mlpack/compare/3274b05fcc545c3b36f783316fea2e22f79c3d03...1c77230c7d3b9c45fb102cd3c632d9c7248e085e

>---------------------------------------------------------------

commit 54f7d40420c3199ecb0cbe4fa91a544f95758b21
Author: MarcosPividori <marcos.pividori at gmail.com>
Date:   Fri Aug 19 12:34:08 2016 -0300

    Fix greedy traverser to consider points in non-leaf nodes.


>---------------------------------------------------------------

54f7d40420c3199ecb0cbe4fa91a544f95758b21
 src/mlpack/core/tree/greedy_single_tree_traverser_impl.hpp | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/mlpack/core/tree/greedy_single_tree_traverser_impl.hpp b/src/mlpack/core/tree/greedy_single_tree_traverser_impl.hpp
index 95eaa8b..d881158 100644
--- a/src/mlpack/core/tree/greedy_single_tree_traverser_impl.hpp
+++ b/src/mlpack/core/tree/greedy_single_tree_traverser_impl.hpp
@@ -27,13 +27,11 @@ void GreedySingleTreeTraverser<TreeType, RuleType>::Traverse(
     const size_t queryIndex,
     TreeType& referenceNode)
 {
-  // If we have reached a leaf node, run the base case as necessary.
-  if (referenceNode.IsLeaf())
-  {
-    for (size_t i = 0; i < referenceNode.NumPoints(); ++i)
-      rule.BaseCase(queryIndex, referenceNode.Point(i));
-  }
-  else
+  // Run the base case as necessary for all the points in the reference node.
+  for (size_t i = 0; i < referenceNode.NumPoints(); ++i)
+    rule.BaseCase(queryIndex, referenceNode.Point(i));
+
+  if (!referenceNode.IsLeaf())
   {
     // We are prunning all but one child.
     numPrunes += referenceNode.NumChildren() - 1;




More information about the mlpack-git mailing list