hyperparameters.parameters.ParameterSet
hyperparameters.parameters.ParameterSet()
User-friendly interface for defining hyperparameters.
This class allows for the definition of a set of hyperparameters including their types, bounds, default values, and transformations. It supports float, integer, and categorical parameters and provides a fluent interface for chaining parameter definitions.
Attributes
_parameters
List [Dict ]
List of parameter definitions.
_var_names
List [str ]
List of parameter names.
_var_types
List [str ]
List of parameter types (‘float’, ‘int’, ‘factor’).
_bounds
List [Union [Tuple , List ]]
List of bounds for each parameter.
_defaults
Dict [str , Any ]
Dictionary of default values.
_var_trans
List [Optional [str ]]
List of variable transformations.
Examples
>>> ps = ParameterSet()
>>> ps.add_float("max_depth" , 1 , 10 , default= 3 )
ParameterSet(
max_depth= Parameter(name= 'max_depth' , type = 'float' , check_on_set= True , bounds= (1 , 10 ), default= 3 ),
)
Methods
add_factor
hyperparameters.parameters.ParameterSet.add_factor(name, choices, default= None )
Add a factor (categorical) hyperparameter.
Parameters
name
str
Name of the parameter.
required
choices
List [str ]
List of possible values for the parameter.
required
default
Optional [str ]
Default value for the parameter.
None
Returns
ParameterSet
ParameterSet
The instance itself to allow method chaining.
Examples
>>> from spotoptim.hyperparameters import ParameterSet
>>> ps = ParameterSet()
>>> ps.add_factor("optimizer" , ["adam" , "sgd" ], default= "adam" )
add_float
hyperparameters.parameters.ParameterSet.add_float(
name,
low,
high,
default= None ,
transform= None ,
)
Add a float hyperparameter.
Parameters
name
str
Name of the parameter.
required
low
float
Lower bound of the parameter range.
required
high
float
Upper bound of the parameter range.
required
default
Optional [float ]
Default value for the parameter.
None
transform
Optional [str ]
Transformation string, e.g., “log”, “log(x)”, “pow(x, 2)”.
None
Returns
ParameterSet
ParameterSet
The instance itself to allow method chaining.
Examples
>>> from spotoptim.hyperparameters import ParameterSet
>>> ps = ParameterSet()
>>> ps.add_float("learning_rate" , 0.0001 , 0.1 , default= 0.01 , transform= "log" )
add_int
hyperparameters.parameters.ParameterSet.add_int(
name,
low,
high,
default= None ,
transform= None ,
)
Add an integer hyperparameter.
Parameters
name
str
Name of the parameter.
required
low
int
Lower bound of the parameter range (inclusive).
required
high
int
Upper bound of the parameter range (inclusive).
required
default
Optional [int ]
Default value for the parameter.
None
transform
Optional [str ]
Transformation string, e.g., “log”, “log(x)”, “pow(x, 2)”.
None
Returns
ParameterSet
ParameterSet
The instance itself to allow method chaining.
Examples
>>> from spotoptim.hyperparameters import ParameterSet
>>> ps = ParameterSet()
>>> ps.add_int("n_estimators" , 10 , 100 , default= 50 )
>>> ps.add_int("epochs" , 2 , 5 , transform= "log" )
names
hyperparameters.parameters.ParameterSet.names()
Returns a list of parameter names.
Returns
List [str ]
List[str]: The names of the parameters.
sample_default
hyperparameters.parameters.ParameterSet.sample_default()
Returns the default configuration.
Returns
Dict [str , Any ]
Dict[str, Any]: A dictionary mapping parameter names to their default values.
Examples
>>> ps = ParameterSet()
>>> ps.add_int("x" , 1 , 10 , default= 5 )
>>> ps.sample_default()
{'x' : 5 }