[mlpack] [GSoC] Implement Decision tree algorithms

Ryan Curtin ryan at ratml.org
Fri Mar 4 20:51:51 EST 2016


On Fri, Mar 04, 2016 at 02:45:14AM +0530, Rajath Shashidhara wrote:
> I would be pleased to hear from you regarding my approach.
> Feedback will help me better understand the requirements of the
> project and shape my ideas as needed.

Hi Rajath,

Some of the framework that you've suggested is already implemented.
Take a look at the code in src/mlpack/methods/hoeffding_trees/ to find
an implementation of a streaming decision tree algorithm.  There are
useful GiniImpurity and InformationGain classes.  Those are not the only
possible gain functions out there, so maybe there are more you might
want to add.

> > Although there are several differences between them they share a
> > common structure. A generic API for decision trees can be designed by
> > making use of function pointers (or functors in C++) for
> > specialization.

Let's not use function pointers, we should instead use templates like
the rest of mlpack.

> > One level decision trees / decision stumps can be brought under the
> > same API (by specifying a stopping criterion of one level).
> >
> > I am not familiar with Density Estimation Trees. I am going though
> > some literature to understand if they can be generalized under the
> > same API.

You can read the paper on Density Estimation Trees for a more thorough
description:

http://users.cis.fiu.edu/~lzhen001/activities/KDD2011Program/docs/p627.pdf

Thanks,

Ryan

-- 
Ryan Curtin    | "Reprogram him!"
ryan at ratml.org |   - Master Control Program



More information about the mlpack mailing list