[mlpack-git] [mlpack/mlpack] Spill trees (#747)
notifications at github.com
Sun Aug 14 12:04:43 EDT 2016
> + }
> + std::vector<size_t> leftPoints, rightPoints;
> + // Split the node.
> + overlappingNode = SplitPoints(tau, rho, points, leftPoints, rightPoints);
> + // We don't need the information in points, so lets clean it.
> + std::vector<size_t>().swap(points);
> + // Now we will recursively split the children by calling their constructors
> + // (which perform this splitting process).
> + left = new SpillTree(this, leftPoints, tau, maxLeafSize, rho);
> + right = new SpillTree(this, rightPoints, tau, maxLeafSize, rho);
> + // Update count number, to represent the number of descendant points.
> + count = left->NumDescendants() + right->NumDescendants();
Ok, that looks good to me. We do also have to handle `RangeSearchRules`, which will prune in some situations and add all descendant points to the results. We can either add some handling in `RangeSearchRules::AddResult()` to handle when `UniqueNumDescendants` is false and avoid adding any duplicate points, or we can add a static assert to `RangeSearch` like you did for `RASearch`. Your call, I think either way is easy enough to do.
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the mlpack-git