for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
"""Base class for experiment."""
from skbase.base import BaseObject
class BaseExperiment(BaseObject):
def __init__(self):
super().__init__()
def __call__(self, **kwargs):
"""Score parameters, with kwargs call."""
return self.score(kwargs)
def paramnames(self):
"""Return the parameter names of the search.
Returns
-------
list of str
The parameter names of the search parameters.
"""
return self._paramnames()
def _paramnames(self):
raise NotImplementedError
def score(self, **params):
"""Score the parameters.
Parameters
----------
params : dict with string keys
Parameters to score.
float
The score of the parameters.
dict
Additional metadata about the search.
paramnames = self.paramnames()
if not set(paramnames) == set(params.keys()):
raise ValueError("Parameters do not match.")
return self._score(**params)
def _score(self, **params):