Commit 0c771221 authored by Maria Dimashova's avatar Maria Dimashova

fixed problem with surrogate splits in decision trees training

parent 2f3f677f
...@@ -418,10 +418,10 @@ void CvERTreeTrainData::set_data( const CvMat* _train_data, int _tflag, ...@@ -418,10 +418,10 @@ void CvERTreeTrainData::set_data( const CvMat* _train_data, int _tflag,
"variable (=%g) is too large", i, vi, val ); "variable (=%g) is too large", i, vi, val );
CV_ERROR( CV_StsBadArg, err ); CV_ERROR( CV_StsBadArg, err );
} }
}
num_valid++; num_valid++;
} }
} }
}
if( vi < var_count ) if( vi < var_count )
data_root->set_num_valid(vi, num_valid); data_root->set_num_valid(vi, num_valid);
} }
......
...@@ -528,8 +528,9 @@ void CvDTreeTrainData::set_data( const CvMat* _train_data, int _tflag, ...@@ -528,8 +528,9 @@ void CvDTreeTrainData::set_data( const CvMat* _train_data, int _tflag,
"variable (=%g) is too large", i, vi, val ); "variable (=%g) is too large", i, vi, val );
CV_ERROR( CV_StsBadArg, err ); CV_ERROR( CV_StsBadArg, err );
} }
}
num_valid++; num_valid++;
}
if (is_buf_16u) if (is_buf_16u)
udst[i] = (unsigned short)i; udst[i] = (unsigned short)i;
else else
...@@ -538,9 +539,9 @@ void CvDTreeTrainData::set_data( const CvMat* _train_data, int _tflag, ...@@ -538,9 +539,9 @@ void CvDTreeTrainData::set_data( const CvMat* _train_data, int _tflag,
} }
if (is_buf_16u) if (is_buf_16u)
icvSortUShAux( udst, num_valid, _fdst); icvSortUShAux( udst, sample_count, _fdst);
else else
icvSortIntAux( idst, /*or num_valid?\*/ sample_count, _fdst ); icvSortIntAux( idst, sample_count, _fdst );
} }
if( vi < var_count ) if( vi < var_count )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment