Home | History | Annotate | Download | only in src

Lines Matching defs:node

135     CvDTreeNode* node = root;
137 // traverse the tree and scale all the node values
143 node->value *= scale;
144 if( !node->left )
146 node = node->left;
149 for( parent = node->parent; parent && parent->right == node;
150 node = parent, parent = parent->parent )
156 node = parent->right;
162 CvBoostTree::try_split_node( CvDTreeNode* node )
164 CvDTree::try_split_node( node );
166 if( !node->left )
168 // if the node has not been split,
171 int* labels = data->get_labels( node );
172 int i, count = node->sample_count;
173 double value = node->value;
182 CvBoostTree::calc_node_dir( CvDTreeNode* node )
186 int i, n = node->sample_count, vi = node->split->var_idx;
189 assert( !node->split->inversed );
193 const int* cat_labels = data->get_cat_var_data( node, vi );
194 const int* subset = node->split->subset;
211 const CvPair32s32f* sorted = data->get_ord_var_data(node,vi);
212 int split_point = node->split->ord.split_point;
213 int n1 = node->get_num_valid(vi);
238 node->maxlr = MAX( L, R );
239 return node->split->quality/(L + R);
244 CvBoostTree::find_split_ord_class( CvDTreeNode* node, int vi )
247 const CvPair32s32f* sorted = data->get_ord_var_data(node, vi);
248 const int* responses = data->get_class_labels(node);
250 int n = node->sample_count;
251 int n1 = node->get_num_valid(vi);
331 CvBoostTree::find_split_cat_class( CvDTreeNode* node, int vi )
334 const int* cat_labels = data->get_cat_var_data(node, vi);
335 const int* responses = data->get_class_labels(node);
337 int n = node->sample_count;
440 CvBoostTree::find_split_ord_reg( CvDTreeNode* node, int vi )
443 const CvPair32s32f* sorted = data->get_ord_var_data(node, vi);
444 const float* responses = data->get_ord_responses(node);
446 int n = node->sample_count;
447 int n1 = node->get_num_valid(vi);
449 double best_val = 0, lsum = 0, rsum = node->value*n;
488 CvBoostTree::find_split_cat_reg( CvDTreeNode* node, int vi )
491 const int* cat_labels = data->get_cat_var_data(node, vi);
492 const float* responses = data->get_ord_responses(node);
495 int n = node->sample_count;
571 CvBoostTree::find_surrogate_split_ord( CvDTreeNode* node, int vi )
574 const CvPair32s32f* sorted = data->get_ord_var_data(node, vi);
577 int n1 = node->get_num_valid(vi);
585 double worst_val = node->maxlr;
630 return best_i >= 0 && best_val > node->maxlr ? data->new_split_ord( vi,
637 CvBoostTree::find_surrogate_split_cat( CvDTreeNode* node, int vi )
639 const int* cat_labels = data->get_cat_var_data(node, vi);
642 int n = node->sample_count;
691 if( split->quality <= node->maxlr )
699 CvBoostTree::calc_node_value( CvDTreeNode* node )
701 int i, count = node->sample_count;
703 const int* labels = data->get_labels(node);
711 const int* responses = data->get_class_labels(node);
721 node->class_idx = rcw[1] > rcw[0];
727 node->value = node->class_idx*2 - 1;
735 node->value = 0.5*log_ratio(p);
741 // * node value is 1/n*sum_i(Y_i), where Y_i is i-th response,
742 // n is the number of samples in the node.
743 // * node risk is the sum of squared errors: sum_i((Y_i - <node_value>)^2)
745 const float* values = data->get_ord_responses(node);
759 node->value = sum*iw;
760 node->node_risk = sum2 - (sum*iw)*sum;
764 node->node_risk *= count*iw*count*iw;
1544 CvBoost::read( CvFileStorage* fs, CvFileNode* node )
1556 read_params( fs, node );
1561 trees_fnode = cvGetFileNodeByName( fs, node, "trees" );