Lines Matching defs:split
168 // if the node has not been split,
186 int i, n = node->sample_count, vi = node->split->var_idx;
189 assert( !node->split->inversed );
191 if( data->get_var_type(vi) >= 0 ) // split on categorical var
194 const int* subset = node->split->subset;
209 else // split on ordered var
212 int split_point = node->split->ord.split_point;
239 return node->split->quality/(L + R);
333 CvDTreeSplit* split;
427 split = data->new_split_cat( vi, (float)best_val );
432 split->subset[idx >> 5] |= 1 << (idx & 31);
435 return split;
461 // find the optimal split
490 CvDTreeSplit* split;
559 split = data->new_split_cat( vi, (float)best_val );
563 split->subset[idx >> 5] |= 1 << (idx & 31);
566 return split;
579 // LR - ... primary splitsplit sends to the right
580 // RL - ... primary split sends to the right and the surrogate split sends to the left
601 // initially all the samples are sent to the right by the surrogate split,
602 // LR of them are sent to the left by primary split, and RR - to the right.
603 // now iteratively compute LL, LR, RL and RR for every possible surrogate split value.
644 // LR - ... primary split sends to the left and the surrogate split sends to the right
645 // RL - ... primary split sends to the right and the surrogate split sends to the left
647 CvDTreeSplit* split = data->new_split_cat( vi, 0 );
657 // sent to the left (lc) and to the right (rc) by the primary split
676 // 2. now form the split.
683 split->subset[i >> 5] |= 1 << (i & 31);
690 split->quality = (float)best_val;
691 if( split->quality <= node->maxlr )
692 cvSetRemoveByPtr( data->split_heap, split ), split = 0;
694 return split;