Skip to content

Commit b0eb866

Browse files
committed
added logic to handle leaf nodes
Signed-off-by: Manish Amde <[email protected]>
1 parent 80e8c66 commit b0eb866

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

mllib/src/main/scala/org/apache/spark/mllib/tree/DecisionTree.scala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,11 @@ object DecisionTree extends Serializable {
135135
*/
136136
def isSampleValid(parentFilters: List[Filter], labeledPoint: LabeledPoint): Boolean = {
137137

138+
//Leaf
139+
if (parentFilters.length == 0 ){
140+
return false
141+
}
142+
138143
for (filter <- parentFilters) {
139144
val features = labeledPoint.features
140145
val featureIndex = filter.split.feature
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
package org.apache.spark.mllib.tree.model
18+
19+
class InformationGainStats(val gain : Double,
20+
val impurity: Double,
21+
val leftImpurity : Double,
22+
val leftSamples : Long,
23+
val rightImpurity : Double,
24+
val rightSamples : Long) {
25+
26+
override def toString =
27+
"gain = " + gain + ", impurity = " + impurity + ", left impurity = "
28+
+ leftImpurity + ", leftSamples = " + leftSamples + ", right impurity = "
29+
+ rightImpurity + ", rightSamples = " + rightSamples
30+
31+
32+
}

0 commit comments

Comments
 (0)