10 class CSamplesAccumulator;
27 TrainNodeCvRFParams(
int _max_depth,
int _min_sample_count,
float _regression_accuracy,
bool _use_surrogates,
int _max_categories,
bool _calc_var_importance,
int _nactive_vars,
int _maxCount,
double _epsilon,
int _term_criteria_type,
size_t _maxSamples) :
max_depth(_max_depth),
min_sample_count(_min_sample_count),
regression_accuracy(_regression_accuracy),
use_surrogates(_use_surrogates),
max_categories(_max_categories),
calc_var_importance(_calc_var_importance),
nactive_vars(_nactive_vars),
maxCount(_maxCount),
epsilon(_epsilon),
term_criteria_type(_term_criteria_type),
maxSamples(_maxSamples) {}
40 TermCriteria::MAX_ITER | TermCriteria::EPS,
68 DllExport
CTrainNodeCvRF(byte nStates, word nFeatures,
size_t maxSamples);
71 DllExport
void reset(
void);
72 DllExport
void save(
const std::string &path,
const std::string &name = std::string(),
short idx = -1)
const;
73 DllExport
void load(
const std::string &path,
const std::string &name = std::string(),
short idx = -1);
75 DllExport
void addFeatureVec(
const Mat &featureVector, byte gt);
76 DllExport
void train(
bool doClean =
false);
void init(TrainNodeCvRFParams params)
void load(const std::string &path, const std::string &name=std::string(), short idx=-1)
Loads the training data.
CTrainNodeCvRF(byte nStates, word nFeatures, TrainNodeCvRFParams params=TRAIN_NODE_CV_RF_PARAMS_DEFAULT)
Constructor.
size_t maxSamples
Maximum number of samples to be used in training. 0 means using all the samples.
Ptr< ml::RTrees > m_pRF
Random Forest.
OpenCV Random Forest parameters.
int max_categories
Max number of categories (use sub-optimal algorithm for larger numbers)
bool use_surrogates
Compute surrogate split, no missing data.
void addFeatureVec(const Mat &featureVector, byte gt)
Adds new feature vector.
Mat getFeatureImportance(void) const
Returns the feature importance vector.
void save(const std::string &path, const std::string &name=std::string(), short idx=-1) const
Saves the training data.
CSamplesAccumulator * m_pSamplesAcc
Samples Accumulator.
int min_sample_count
Min sample count (1% of all data)
void reset(void)
Resets class variables.
TrainNodeCvRFParams m_params
void calculateNodePotentials(const Mat &featureVector, Mat &potential, Mat &mask) const
Calculates the node potential, based on the feature vector.
OpenCV Random Forest training class.
void loadFile(FILE *pFile)
Loads the random model from the file.
Samples accumulator abstract class.
const TrainNodeCvRFParams TRAIN_NODE_CV_RF_PARAMS_DEFAULT
int term_criteria_type
Termination cirteria type (according the the two previous parameters)
void saveFile(FILE *pFile) const
Saves the random model into the file.
Base abstract class for node potentials training.
bool calc_var_importance
Calculate variable importance (must be true in order to use CTrainNodeCvRF::getFeatureImportance func...
struct DirectGraphicalModels::TrainNodeCvRFParams TrainNodeCvRFParams
OpenCV Random Forest parameters.
void train(bool doClean=false)
Random model training.
double epsilon
Forest accuracy.
TrainNodeCvRFParams(int _max_depth, int _min_sample_count, float _regression_accuracy, bool _use_surrogates, int _max_categories, bool _calc_var_importance, int _nactive_vars, int _maxCount, double _epsilon, int _term_criteria_type, size_t _maxSamples)
int maxCount
Max number of trees in the forest (time / accuracy)
float regression_accuracy
Regression accuracy (0 means N/A here)
int nactive_vars
Number of variables randomly selected at node and used to find the best split(s). (0 means the ) ...