spark-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joseph K. Bradley (JIRA)" <>
Subject [jira] [Commented] (SPARK-3272) Calculate prediction for nodes separately from calculating information gain for splits in decision tree
Date Fri, 29 Aug 2014 20:15:57 GMT


Joseph K. Bradley commented on SPARK-3272:

Hi Qiping,

No worries; we are on different time zones.  I think we had different ideas about the semantics
of the min instances requirement:
(a) I was thinking of it as min_instances_to_split, i.e., a node becomes a leaf node if fewer
than K training instances apply to that node.
(b) It sounds like you are thinking of min_instances_to_be_a_leaf, i.e., if we find the bestSplit
for a node creates a left or right child with fewer than K training instances, then the bestSplit
is rejected, and the node becomes a leaf node.

Both (a) and (b) sound useful, and it looks like scikit-learn supports both.  I'm fine with
only supporting one of the two for now, so going with your suggestion of (b) sounds good to
me.  For (b), I agree about storing counts of left & right instances.

Could you please clarify the JIRA [SPARK-2207] about which of (a) or (b) you plan to implement?

As far as the invalid info gain value, I am OK with that (since it will be internal).

Thanks for thinking through this! ~ Joseph

> Calculate prediction for nodes separately from calculating information gain for splits
in decision tree
> -------------------------------------------------------------------------------------------------------
>                 Key: SPARK-3272
>                 URL:
>             Project: Spark
>          Issue Type: Improvement
>          Components: MLlib
>    Affects Versions: 1.0.2
>            Reporter: Qiping Li
>             Fix For: 1.1.0
> In current implementation, prediction for a node is calculated along with calculation
of information gain stats for each possible splits. The value to predict for a specific node
is determined, no matter what the splits are.
> To save computation, we can first calculate prediction first and then calculate information
gain stats for each split.
> This is also necessary if we want to support minimum instances per node parameters([SPARK-2207|])
because when all splits don't satisfy minimum instances requirement , we don't use information
gain of any splits. There should be a way to get the prediction value.  

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message