@@ -67,20 +67,28 @@ use crate::tree::decision_tree_classifier::{
6767#[ cfg_attr( feature = "serde" , derive( Serialize , Deserialize ) ) ]
6868#[ derive( Debug , Clone ) ]
6969pub struct RandomForestClassifierParameters {
70+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
7071 /// Split criteria to use when building a tree. See [Decision Tree Classifier](../../tree/decision_tree_classifier/index.html)
7172 pub criterion : SplitCriterion ,
73+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
7274 /// Tree max depth. See [Decision Tree Classifier](../../tree/decision_tree_classifier/index.html)
7375 pub max_depth : Option < u16 > ,
76+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
7477 /// The minimum number of samples required to be at a leaf node. See [Decision Tree Classifier](../../tree/decision_tree_classifier/index.html)
7578 pub min_samples_leaf : usize ,
79+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
7680 /// The minimum number of samples required to split an internal node. See [Decision Tree Classifier](../../tree/decision_tree_classifier/index.html)
7781 pub min_samples_split : usize ,
82+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
7883 /// The number of trees in the forest.
7984 pub n_trees : u16 ,
85+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
8086 /// Number of random sample of predictors to use as split candidates.
8187 pub m : Option < usize > ,
88+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
8289 /// Whether to keep samples used for tree generation. This is required for OOB prediction.
8390 pub keep_samples : bool ,
91+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
8492 /// Seed used for bootstrap sampling and feature selection for each tree.
8593 pub seed : u64 ,
8694}
@@ -198,20 +206,28 @@ impl<T: RealNumber, M: Matrix<T>> Predictor<M, M::RowVector> for RandomForestCla
198206#[ cfg_attr( feature = "serde" , derive( Serialize , Deserialize ) ) ]
199207#[ derive( Debug , Clone ) ]
200208pub struct RandomForestClassifierSearchParameters {
209+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
201210 /// Split criteria to use when building a tree. See [Decision Tree Classifier](../../tree/decision_tree_classifier/index.html)
202211 pub criterion : Vec < SplitCriterion > ,
212+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
203213 /// Tree max depth. See [Decision Tree Classifier](../../tree/decision_tree_classifier/index.html)
204214 pub max_depth : Vec < Option < u16 > > ,
215+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
205216 /// The minimum number of samples required to be at a leaf node. See [Decision Tree Classifier](../../tree/decision_tree_classifier/index.html)
206217 pub min_samples_leaf : Vec < usize > ,
218+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
207219 /// The minimum number of samples required to split an internal node. See [Decision Tree Classifier](../../tree/decision_tree_classifier/index.html)
208220 pub min_samples_split : Vec < usize > ,
221+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
209222 /// The number of trees in the forest.
210223 pub n_trees : Vec < u16 > ,
224+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
211225 /// Number of random sample of predictors to use as split candidates.
212226 pub m : Vec < Option < usize > > ,
227+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
213228 /// Whether to keep samples used for tree generation. This is required for OOB prediction.
214229 pub keep_samples : Vec < bool > ,
230+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
215231 /// Seed used for bootstrap sampling and feature selection for each tree.
216232 pub seed : Vec < u64 > ,
217233}
0 commit comments