pub struct RTrees { /* private fields */ }Expand description
Implementations§
source§impl RTrees
impl RTrees
sourcepub fn create() -> Result<Ptr<RTrees>>
pub fn create() -> Result<Ptr<RTrees>>
Creates the empty model. Use StatModel::train to train the model, StatModel::train to create and train the model, Algorithm::load to load the pre-trained model.
sourcepub fn load(filepath: &str, node_name: &str) -> Result<Ptr<RTrees>>
pub fn load(filepath: &str, node_name: &str) -> Result<Ptr<RTrees>>
Loads and creates a serialized RTree from a file
Use RTree::save to serialize and store an RTree to disk. Load the RTree from this file again, by calling this function with the path to the file. Optionally specify the node for the file containing the classifier
Parameters
- filepath: path to serialized RTree
- nodeName: name of node containing the classifier
C++ default parameters
- node_name: String()
Trait Implementations§
source§impl AlgorithmTrait for RTrees
impl AlgorithmTrait for RTrees
source§impl AlgorithmTraitConst for RTrees
impl AlgorithmTraitConst for RTrees
fn as_raw_Algorithm(&self) -> *const c_void
source§fn write(&self, fs: &mut FileStorage) -> Result<()>
fn write(&self, fs: &mut FileStorage) -> Result<()>
Stores algorithm parameters in a file storage
source§fn write_1(&self, fs: &mut FileStorage, name: &str) -> Result<()>
fn write_1(&self, fs: &mut FileStorage, name: &str) -> Result<()>
Stores algorithm parameters in a file storage Read more
source§fn write_with_name(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>
fn write_with_name(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>
@deprecated Read more
source§fn empty(&self) -> Result<bool>
fn empty(&self) -> Result<bool>
Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read
source§fn save(&self, filename: &str) -> Result<()>
fn save(&self, filename: &str) -> Result<()>
Saves the algorithm to a file.
In order to make this method work, the derived class must implement Algorithm::write(FileStorage& fs).
source§fn get_default_name(&self) -> Result<String>
fn get_default_name(&self) -> Result<String>
Returns the algorithm string identifier.
This string is used as top level xml/yml node tag when the object is saved to a file or string.
source§impl Boxed for RTrees
impl Boxed for RTrees
source§impl DTreesTrait for RTrees
impl DTreesTrait for RTrees
fn as_raw_mut_DTrees(&mut self) -> *mut c_void
source§fn set_max_categories(&mut self, val: i32) -> Result<()>
fn set_max_categories(&mut self, val: i32) -> Result<()>
Cluster possible values of a categorical variable into K<=maxCategories clusters to
find a suboptimal split.
If a discrete variable, on which the training procedure tries to make a split, takes more than
maxCategories values, the precise best subset estimation may take a very long time because the
algorithm is exponential. Instead, many decision trees engines (including our implementation)
try to find sub-optimal split in this case by clustering all the samples into maxCategories
clusters that is some categories are merged together. The clustering is applied only in n >
2-class classification problems for categorical variables with N > max_categories possible
values. In case of regression and 2-class classification the optimal split can be found
efficiently without employing clustering, thus the parameter is not used in these cases.
Default value is 10. Read more
source§fn set_max_depth(&mut self, val: i32) -> Result<()>
fn set_max_depth(&mut self, val: i32) -> Result<()>
The maximum possible depth of the tree.
That is the training algorithms attempts to split a node while its depth is less than maxDepth.
The root node has zero depth. The actual depth may be smaller if the other termination criteria
are met (see the outline of the training procedure [ml_intro_trees] “here”), and/or if the
tree is pruned. Default value is INT_MAX. Read more
source§fn set_min_sample_count(&mut self, val: i32) -> Result<()>
fn set_min_sample_count(&mut self, val: i32) -> Result<()>
If the number of samples in a node is less than this parameter then the node will not be split. Read more
source§fn set_cv_folds(&mut self, val: i32) -> Result<()>
fn set_cv_folds(&mut self, val: i32) -> Result<()>
If CVFolds > 1 then algorithms prunes the built decision tree using K-fold
cross-validation procedure where K is equal to CVFolds.
Default value is 10. Read more
source§fn set_use_surrogates(&mut self, val: bool) -> Result<()>
fn set_use_surrogates(&mut self, val: bool) -> Result<()>
If true then surrogate splits will be built.
These splits allow to work with missing data and compute variable importance correctly.
Default value is false. Read more
source§fn set_use1_se_rule(&mut self, val: bool) -> Result<()>
fn set_use1_se_rule(&mut self, val: bool) -> Result<()>
If true then a pruning will be harsher.
This will make a tree more compact and more resistant to the training data noise but a bit less
accurate. Default value is true. Read more
source§fn set_truncate_pruned_tree(&mut self, val: bool) -> Result<()>
fn set_truncate_pruned_tree(&mut self, val: bool) -> Result<()>
If true then pruned branches are physically removed from the tree.
Otherwise they are retained and it is possible to get results from the original unpruned (or
pruned less aggressively) tree. Default value is true. Read more
source§fn set_regression_accuracy(&mut self, val: f32) -> Result<()>
fn set_regression_accuracy(&mut self, val: f32) -> Result<()>
Termination criteria for regression trees.
If all absolute differences between an estimated value in a node and values of train samples
in this node are less than this parameter then the node will not be split further. Default
value is 0.01f Read more
source§impl DTreesTraitConst for RTrees
impl DTreesTraitConst for RTrees
fn as_raw_DTrees(&self) -> *const c_void
source§fn get_max_categories(&self) -> Result<i32>
fn get_max_categories(&self) -> Result<i32>
Cluster possible values of a categorical variable into K<=maxCategories clusters to
find a suboptimal split.
If a discrete variable, on which the training procedure tries to make a split, takes more than
maxCategories values, the precise best subset estimation may take a very long time because the
algorithm is exponential. Instead, many decision trees engines (including our implementation)
try to find sub-optimal split in this case by clustering all the samples into maxCategories
clusters that is some categories are merged together. The clustering is applied only in n >
2-class classification problems for categorical variables with N > max_categories possible
values. In case of regression and 2-class classification the optimal split can be found
efficiently without employing clustering, thus the parameter is not used in these cases.
Default value is 10. Read more
source§fn get_max_depth(&self) -> Result<i32>
fn get_max_depth(&self) -> Result<i32>
The maximum possible depth of the tree.
That is the training algorithms attempts to split a node while its depth is less than maxDepth.
The root node has zero depth. The actual depth may be smaller if the other termination criteria
are met (see the outline of the training procedure [ml_intro_trees] “here”), and/or if the
tree is pruned. Default value is INT_MAX. Read more
source§fn get_min_sample_count(&self) -> Result<i32>
fn get_min_sample_count(&self) -> Result<i32>
If the number of samples in a node is less than this parameter then the node will not be split. Read more
source§fn get_cv_folds(&self) -> Result<i32>
fn get_cv_folds(&self) -> Result<i32>
If CVFolds > 1 then algorithms prunes the built decision tree using K-fold
cross-validation procedure where K is equal to CVFolds.
Default value is 10. Read more
source§fn get_use_surrogates(&self) -> Result<bool>
fn get_use_surrogates(&self) -> Result<bool>
If true then surrogate splits will be built.
These splits allow to work with missing data and compute variable importance correctly.
Default value is false. Read more
source§fn get_use1_se_rule(&self) -> Result<bool>
fn get_use1_se_rule(&self) -> Result<bool>
If true then a pruning will be harsher.
This will make a tree more compact and more resistant to the training data noise but a bit less
accurate. Default value is true. Read more
source§fn get_truncate_pruned_tree(&self) -> Result<bool>
fn get_truncate_pruned_tree(&self) -> Result<bool>
If true then pruned branches are physically removed from the tree.
Otherwise they are retained and it is possible to get results from the original unpruned (or
pruned less aggressively) tree. Default value is true. Read more
source§fn get_regression_accuracy(&self) -> Result<f32>
fn get_regression_accuracy(&self) -> Result<f32>
Termination criteria for regression trees.
If all absolute differences between an estimated value in a node and values of train samples
in this node are less than this parameter then the node will not be split further. Default
value is 0.01f Read more
source§fn get_priors(&self) -> Result<Mat>
fn get_priors(&self) -> Result<Mat>
The array of a priori class probabilities, sorted by the class label value. Read more
source§fn get_splits(&self) -> Result<Vector<DTrees_Split>>
fn get_splits(&self) -> Result<Vector<DTrees_Split>>
Returns all the splits Read more
source§impl RTreesTrait for RTrees
impl RTreesTrait for RTrees
fn as_raw_mut_RTrees(&mut self) -> *mut c_void
source§fn set_calculate_var_importance(&mut self, val: bool) -> Result<()>
fn set_calculate_var_importance(&mut self, val: bool) -> Result<()>
If true then variable importance will be calculated and then it can be retrieved by RTrees::getVarImportance.
Default value is false. Read more
source§fn set_active_var_count(&mut self, val: i32) -> Result<()>
fn set_active_var_count(&mut self, val: i32) -> Result<()>
The size of the randomly selected subset of features at each tree node and that are used
to find the best split(s).
If you set it to 0 then the size will be set to the square root of the total number of
features. Default value is 0. Read more
source§fn set_term_criteria(&mut self, val: TermCriteria) -> Result<()>
fn set_term_criteria(&mut self, val: TermCriteria) -> Result<()>
The termination criteria that specifies when the training algorithm stops.
Either when the specified number of trees is trained and added to the ensemble or when
sufficient accuracy (measured as OOB error) is achieved. Typically the more trees you have the
better the accuracy. However, the improvement in accuracy generally diminishes and asymptotes
pass a certain number of trees. Also to keep in mind, the number of tree increases the
prediction time linearly. Default value is TermCriteria(TermCriteria::MAX_ITERS +
TermCriteria::EPS, 50, 0.1) Read more
source§impl RTreesTraitConst for RTrees
impl RTreesTraitConst for RTrees
fn as_raw_RTrees(&self) -> *const c_void
source§fn get_calculate_var_importance(&self) -> Result<bool>
fn get_calculate_var_importance(&self) -> Result<bool>
If true then variable importance will be calculated and then it can be retrieved by RTrees::getVarImportance.
Default value is false. Read more
source§fn get_active_var_count(&self) -> Result<i32>
fn get_active_var_count(&self) -> Result<i32>
The size of the randomly selected subset of features at each tree node and that are used
to find the best split(s).
If you set it to 0 then the size will be set to the square root of the total number of
features. Default value is 0. Read more
source§fn get_term_criteria(&self) -> Result<TermCriteria>
fn get_term_criteria(&self) -> Result<TermCriteria>
The termination criteria that specifies when the training algorithm stops.
Either when the specified number of trees is trained and added to the ensemble or when
sufficient accuracy (measured as OOB error) is achieved. Typically the more trees you have the
better the accuracy. However, the improvement in accuracy generally diminishes and asymptotes
pass a certain number of trees. Also to keep in mind, the number of tree increases the
prediction time linearly. Default value is TermCriteria(TermCriteria::MAX_ITERS +
TermCriteria::EPS, 50, 0.1) Read more
source§fn get_var_importance(&self) -> Result<Mat>
fn get_var_importance(&self) -> Result<Mat>
Returns the variable importance array.
The method returns the variable importance vector, computed at the training stage when
CalculateVarImportance is set to true. If this flag was set to false, the empty matrix is
returned.
source§fn get_votes(
&self,
samples: &impl ToInputArray,
results: &mut impl ToOutputArray,
flags: i32
) -> Result<()>
fn get_votes( &self, samples: &impl ToInputArray, results: &mut impl ToOutputArray, flags: i32 ) -> Result<()>
Returns the result of each individual tree in the forest.
In case the model is a regression problem, the method will return each of the trees’
results for each of the sample cases. If the model is a classifier, it will return
a Mat with samples + 1 rows, where the first row gives the class number and the
following rows return the votes each class had for each sample. Read more
fn get_oob_error(&self) -> Result<f64>
source§impl StatModelTrait for RTrees
impl StatModelTrait for RTrees
fn as_raw_mut_StatModel(&mut self) -> *mut c_void
source§fn train_with_data(
&mut self,
train_data: &Ptr<TrainData>,
flags: i32
) -> Result<bool>
fn train_with_data( &mut self, train_data: &Ptr<TrainData>, flags: i32 ) -> Result<bool>
Trains the statistical model Read more
source§fn train(
&mut self,
samples: &impl ToInputArray,
layout: i32,
responses: &impl ToInputArray
) -> Result<bool>
fn train( &mut self, samples: &impl ToInputArray, layout: i32, responses: &impl ToInputArray ) -> Result<bool>
Trains the statistical model Read more
source§impl StatModelTraitConst for RTrees
impl StatModelTraitConst for RTrees
fn as_raw_StatModel(&self) -> *const c_void
source§fn get_var_count(&self) -> Result<i32>
fn get_var_count(&self) -> Result<i32>
Returns the number of variables in training samples
fn empty(&self) -> Result<bool>
source§fn is_trained(&self) -> Result<bool>
fn is_trained(&self) -> Result<bool>
Returns true if the model is trained
source§fn is_classifier(&self) -> Result<bool>
fn is_classifier(&self) -> Result<bool>
Returns true if the model is classifier
source§fn calc_error(
&self,
data: &Ptr<TrainData>,
test: bool,
resp: &mut impl ToOutputArray
) -> Result<f32>
fn calc_error( &self, data: &Ptr<TrainData>, test: bool, resp: &mut impl ToOutputArray ) -> Result<f32>
Computes error on the training or test dataset Read more
source§fn predict(
&self,
samples: &impl ToInputArray,
results: &mut impl ToOutputArray,
flags: i32
) -> Result<f32>
fn predict( &self, samples: &impl ToInputArray, results: &mut impl ToOutputArray, flags: i32 ) -> Result<f32>
Predicts response(s) for the provided sample(s) Read more
impl Send for RTrees
Auto Trait Implementations§
impl RefUnwindSafe for RTrees
impl !Sync for RTrees
impl Unpin for RTrees
impl UnwindSafe for RTrees
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more