Select Model with SymetryML
Last updated
Last updated
SymetryML Select Model is a feature selection functionality. It allows to automatically select the best features for a given model algorithm and it leverages SymetryML unique capabilities to build different predictive model quickly. The functionality builds various model each with different input attributes using a predefined heuristic. It then computes a score for them using out of sample data and will retain the best one. The following table describes the available heuristics:
Name
Description
Forward Backward
A heuristic that does the following: 1. Iteratively add as many features as possible while keeping the best model 2. Iteratively remove as many feature as possible while keeping the best model 3. repeat a specific number of time.
Brute Force
Brute force will try all possible combinations of the input attributes. It should not be used if you have more than 17-18 attributes.
Max Number of Iterations
Randomly create a model by trying a specific number of random number of permutations of the features.
Max. Number of Seconds
Randomly create a model by trying a random number of permutations of the features for a maximum number of seconds.
Simple
The simple heuristic starts with one feature and then incrementally adds one additional feature until it tries all the features. It then keeps track of the best model.
selector_type_fw_bw
Forward / Backward heuristic. Number of iteration is by default 5. It can be controlled with the selector_max_iterations
parameters.
selector_type_simple
Simple heuristic
selector_type_brute
Brute force selector.
selector_type_iteration
A Selector that will either try a specific number of random combination or will try for a specific number of seconds. selector_max_iterations
or selector_max_seconds
must also be specified with this type of selector
Elastic Net model has 2 hyper parameters that can be optimized eta and lambda. The auto-select algorithm will try various combinations of these parameters using a grid search. The size of this grid can be controlled via the autoselect_grid_type
extra parameter in the request body. Please see this for such an example.
autoselect_grid_type_tiny
eta [0, 0.5, 1.0] x lambda [1e-3, 1e-2, 0.1]
autoselect_grid_type_small
eta [0, 0.5, 1.0] x lambda [1e-3, 1e-2, 0.1, 1]
autoselect_grid_type_normal
eta [0, 0.3333, 0.6666, 1.0] x lambda [1e-4, 1e-3, 1e-2, 0.1, 1, 10]
autoselect_grid_type_large
eta [0, 0.2, 0.4, 0.6, 0.8, 1.0] x lambda [1e-9, 1e-8, 1e-7, 1e-6, 1e-5, 1e-4, 1e-3, 1e-2, 0.1, 1, 10, 100, 1000]
Allows to invoke the select model functionality by specifying an external data source id as the out of sample data to use for model assessment.
modelid
Required
ID to assign to the new model.
algo
Required
Algorithm to fit
rnd_seed
Optional
Integer
Set the seed of the randomizer
selector_type
Optional
String
autoselect_grid_type
Optional
String
202
OK
Job accepted.
400
BAD REQUEST
Unknown SymetryML project. {"statusCode":"BAD_REQUEST","statusString":" + Cannot Find SYMETRYML id[r2] for Customer id [c1]","values":{}}
modelid
Required
ID to assign to the new model.
algo
Required
Algorithm to fit
rnd_seed
Optional
Integer
Set the seed of the randomizer
selector_type
Optional
String
autoselect_grid_type
Optional
String
202
OK
Job accepted.
400
BAD REQUEST
Unknown SymetryML project. {"statusCode":"BAD_REQUEST","statusString":" + Cannot Find SYMETRYML id[r2] for Customer id [c1]","values":{}}
Default is selector_type_fw_bw. Please see and sections for details.
Default is autoselect_grid_type_tiny. Please see for details.
Allows to invoke the select model functionality by using a passed in the request body as the out of sample data to be used for models assessment.
Default is selector_type_fw_bw. Please see and sections for details.
Default is autoselect_grid_type_tiny. Please see for details.