Package smile.classification
Record Class RandomForest.Options
java.lang.Object
java.lang.Record
smile.classification.RandomForest.Options
- Record Components:
ntrees
- the number of trees.mtry
- the number of input variables to be used to determine the decision at a node of the tree. p/3 generally give good performance, where p is the number of variables.rule
- Decision tree split rule.maxDepth
- the maximum depth of the tree.maxNodes
- the maximum number of leaf nodes in the tree.nodeSize
- the minimum size of leaf nodes. Setting nodeSize = 5 generally gives good results.subsample
- the sampling rate for training tree. 1.0 means sampling with replacement.< 1.0
means sampling without replacement.classWeight
- Priors of the classes. The weight of each class is roughly the ratio of samples in each class. For example, if there are 400 positive samples and 100 negative samples, the classWeight should be [1, 4] (assuming label 0 is of negative, label 1 is of positive).seeds
- optional RNG seeds for each decision tree.controller
- the optional training controller.
- Enclosing class:
RandomForest
public static record RandomForest.Options(int ntrees, int mtry, SplitRule rule, int maxDepth, int maxNodes, int nodeSize, double subsample, int[] classWeight, long[] seeds, IterativeAlgorithmController<RandomForest.TrainingStatus> controller)
extends Record
Random forest hyperparameters.
-
Constructor Summary
ConstructorsConstructorDescriptionOptions
(int ntrees) Constructor.Options
(int ntrees, int mtry, int maxDepth, int maxNodes, int nodeSize) Constructor.Options
(int ntrees, int mtry, SplitRule rule, int maxDepth, int maxNodes, int nodeSize, double subsample, int[] classWeight, long[] seeds, IterativeAlgorithmController<RandomForest.TrainingStatus> controller) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionint[]
Returns the value of theclassWeight
record component.Returns the value of thecontroller
record component.final boolean
Indicates whether some other object is "equal to" this one.final int
hashCode()
Returns a hash code value for this object.int
maxDepth()
Returns the value of themaxDepth
record component.int
maxNodes()
Returns the value of themaxNodes
record component.int
mtry()
Returns the value of themtry
record component.int
nodeSize()
Returns the value of thenodeSize
record component.int
ntrees()
Returns the value of thentrees
record component.static RandomForest.Options
of
(Properties props) Returns the options from properties.rule()
Returns the value of therule
record component.long[]
seeds()
Returns the value of theseeds
record component.double
Returns the value of thesubsample
record component.Returns the persistent set of hyperparameters.final String
toString()
Returns a string representation of this record class.
-
Constructor Details
-
Options
public Options(int ntrees, int mtry, SplitRule rule, int maxDepth, int maxNodes, int nodeSize, double subsample, int[] classWeight, long[] seeds, IterativeAlgorithmController<RandomForest.TrainingStatus> controller) Constructor. -
Options
public Options(int ntrees) Constructor.- Parameters:
ntrees
- the number of trees.
-
Options
public Options(int ntrees, int mtry, int maxDepth, int maxNodes, int nodeSize) Constructor.- Parameters:
ntrees
- the number of trees.mtry
- the number of input variables to be used to determine the decision at a node of the tree. p/3 generally give good performance, where p is the number of variables.maxDepth
- the maximum depth of the tree.maxNodes
- the maximum number of leaf nodes in the tree.nodeSize
- the minimum size of leaf nodes. Setting nodeSize = 5 generally gives good results.
-
-
Method Details
-
toProperties
Returns the persistent set of hyperparameters.- Returns:
- the persistent set.
-
of
Returns the options from properties.- Parameters:
props
- the hyperparameters.- Returns:
- the options.
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object)
; primitive components are compared with '=='. -
ntrees
public int ntrees()Returns the value of thentrees
record component.- Returns:
- the value of the
ntrees
record component
-
mtry
public int mtry()Returns the value of themtry
record component.- Returns:
- the value of the
mtry
record component
-
rule
Returns the value of therule
record component.- Returns:
- the value of the
rule
record component
-
maxDepth
public int maxDepth()Returns the value of themaxDepth
record component.- Returns:
- the value of the
maxDepth
record component
-
maxNodes
public int maxNodes()Returns the value of themaxNodes
record component.- Returns:
- the value of the
maxNodes
record component
-
nodeSize
public int nodeSize()Returns the value of thenodeSize
record component.- Returns:
- the value of the
nodeSize
record component
-
subsample
public double subsample()Returns the value of thesubsample
record component.- Returns:
- the value of the
subsample
record component
-
classWeight
public int[] classWeight()Returns the value of theclassWeight
record component.- Returns:
- the value of the
classWeight
record component
-
seeds
public long[] seeds()Returns the value of theseeds
record component.- Returns:
- the value of the
seeds
record component
-
controller
Returns the value of thecontroller
record component.- Returns:
- the value of the
controller
record component
-