Example #1
0
 // Find the column with the best split (lowest score).  Unlike RF, DRF
 // scores on all columns and selects splits on all columns.
 @Override
 public DTree.Split bestCol(UndecidedNode u, DHistogram[] hs) {
   DTree.Split best =
       new DTree.Split(
           -1,
           -1,
           null,
           (byte) 0,
           Double.MAX_VALUE,
           Double.MAX_VALUE,
           Double.MAX_VALUE,
           0L,
           0L,
           0,
           0);
   if (hs == null) return best;
   for (int i = 0; i < u._scoreCols.length; i++) {
     int col = u._scoreCols[i];
     DTree.Split s = hs[col].scoreMSE(col, _tree._min_rows);
     if (s == null) continue;
     if (s.se() < best.se()) best = s;
     if (s.se() <= 0) break; // No point in looking further!
   }
   return best;
 }