[mlpack] #251
Rafi Kamal
rafikamal93 at yahoo.com
Sun Jan 12 12:05:53 EST 2014
Thanks Ryan for clarifying :) I misunderstood the current method of splitting the nodes.
Regards
Rafi Kamal
On Sunday, January 12, 2014 9:27 PM, Ryan Curtin <gth671b at mail.gatech.edu> wrote:
On Sat, Jan 11, 2014 at 11:33:40PM -0800, Rafi Kamal wrote:
> Hi
> I'm Rafi from Bangladesh. I'm an undergraduate student from Bangladesh
> University of Engineering & Technology. Like Abhinav, I've recently
> started looking at the ML pack codebase. I might participate in
> upcoming GSoC 2014, and as I've interest in machine learning, I've
> chosen MLPack. I was following your discussion and I think it's a good
> time to join :)
>
> I've looked into the BSP tree codes. To answer Abhinav's query: I
> think what is needed here is to pull out the splitNode function from
> BinarySpaceTree class and wrap it in a separate class (say,
> BSPNodeSplitterMaxWIdth). Then this BSPNodeSplitterMaxWIdth class will
> be passed as a template argument to the BinarySpaceTree class.
>
> The reason for why it is needed: if you look at the splitNode class,
> you can see that the node is being split in it's maximum width
> position. According to ticket #235, there might be other ways to split
> the node. So, we can create another class which split the node based
> on another criteria; say for example, BSPNodeSplitterMid, which splits
> the node in the middle point. And then we can pass this class as a
> template argument to BinarySpaceTree class. So
> BinarySpaceTree<SomeBound, SomeStateType, SomeMatType, BSPNodeSplitterMaxWIdth> tree; // nodes of this class will be split in maximum width position
>
> BinarySpaceTree<SomeBound, SomeStateType, SomeMatType, BSPNodeSplitterMid> tree; // nodes of this class will be split in the middle position
>
>
> That's what I've understood by looking at the source and the ticket,
> Ryan can correct me if I'm wrong.
Hello Rafi and Abhinav,
This is basically correct although I do want to clarify the terminology
a little bit: currently, the BinarySpaceTree class splits points into a
left and right node by finding the mean and splitting on that (this
could probably be refactored into a 'MeanSplit' class). However in some
cases it may be useful to split on other criteria, such as a median
split. I think this is the same thing you were saying, just using
different words. :)
Thanks,
Ryan
--
Ryan Curtin | "Get off my lawn!"
ryan at ratml.org
| - Kowalski
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.cc.gatech.edu/pipermail/mlpack/attachments/20140112/d8e58ed5/attachment.html>
More information about the mlpack
mailing list