openml.extensions
.Extension¶
- class openml.extensions.Extension¶
Defines the interface to connect machine learning libraries to OpenML-Python.
See
openml.extension.sklearn.extension
for an implementation to bootstrap from.- abstract classmethod can_handle_flow(flow: OpenMLFlow) bool ¶
Check whether a given flow can be handled by this extension.
This is typically done by parsing the
external_version
field.- Parameters:
- flowOpenMLFlow
- Returns:
- bool
- abstract classmethod can_handle_model(model: Any) bool ¶
Check whether a model flow can be handled by this extension.
This is typically done by checking the type of the model, or the package it belongs to.
- Parameters:
- modelAny
- Returns:
- bool
- abstract check_if_model_fitted(model: Any) bool ¶
Returns True/False denoting if the model has already been fitted/trained.
- Parameters:
- modelAny
- Returns:
- bool
- abstract create_setup_string(model: Any) str ¶
Create a string which can be used to reinstantiate the given model.
- Parameters:
- modelAny
- Returns:
- str
- abstract flow_to_model(flow: OpenMLFlow, initialize_with_defaults: bool = False, strict_version: bool = True) Any ¶
Instantiate a model from the flow representation.
- Parameters:
- flowOpenMLFlow
- initialize_with_defaultsbool, optional (default=False)
If this flag is set, the hyperparameter values of flows will be ignored and a flow with its defaults is returned.
- strict_versionbool, default=True
Whether to fail if version requirements are not fulfilled.
- Returns:
- Any
- abstract get_version_information() list[str] ¶
List versions of libraries required by the flow.
- Returns:
- List
- abstract instantiate_model_from_hpo_class(model: Any, trace_iteration: OpenMLTraceIteration) Any ¶
Instantiate a base model which can be searched over by the hyperparameter optimization model.
- Parameters:
- modelAny
A hyperparameter optimization model which defines the model to be instantiated.
- trace_iterationOpenMLTraceIteration
Describing the hyperparameter settings to instantiate.
- Returns:
- Any
- abstract is_estimator(model: Any) bool ¶
Check whether the given model is an estimator for the given extension.
This function is only required for backwards compatibility and will be removed in the near future.
- Parameters:
- modelAny
- Returns:
- bool
- abstract model_to_flow(model: Any) OpenMLFlow ¶
Transform a model to a flow for uploading it to OpenML.
- Parameters:
- modelAny
- Returns:
- OpenMLFlow
- abstract obtain_parameter_values(flow: OpenMLFlow, model: Any = None) list[dict[str, Any]] ¶
Extracts all parameter settings required for the flow from the model.
If no explicit model is provided, the parameters will be extracted from flow.model instead.
- Parameters:
- flowOpenMLFlow
OpenMLFlow object (containing flow ids, i.e., it has to be downloaded from the server)
- model: Any, optional (default=None)
The model from which to obtain the parameter values. Must match the flow signature. If None, use the model specified in
OpenMLFlow.model
.
- Returns:
- list
A list of dicts, where each dict has the following entries: -
oml:name
: str: The OpenML parameter name -oml:value
: mixed: A representation of the parameter value -oml:component
: int: flow id to which the parameter belongs
- abstract seed_model(model: Any, seed: int | None) Any ¶
Set the seed of all the unseeded components of a model and return the seeded model.
Required so that all seed information can be uploaded to OpenML for reproducible results.
- Parameters:
- modelAny
The model to be seeded
- seedint
- Returns:
- model