adaptive.SequenceLearner#
- class adaptive.SequenceLearner(function: Callable[[Any], Any], sequence: Sequence[Any])[source]#
Bases:
BaseLearnerA learner that will learn a sequence. It simply returns the points in the provided sequence when asked.
This is useful when your problem cannot be formulated in terms of another adaptive learner, but you still want to use Adaptive’s routines to run, save, and plot.
- Parameters:
function (callable) – The function to learn. Must take a single element sequence.
sequence (sequence) – The sequence to learn.
Notes
From primitive tests, the
SequenceLearnerappears to have a similar performance to ipyparallelsload_balanced_view().map. With the added benefit of having results in the local kernel already.- ask(n: int, tell_pending: bool = True) tuple[list[tuple[int | numpy.int64, Any]], list[float]][source]#
Choose the next ‘n’ points to evaluate.
- load_dataframe(df: DataFrame, with_default_function_args: bool = True, function_prefix: str = 'function.', index_name: str = 'i', x_name: str = 'x', y_name: str = 'y', *, full_sequence: bool = False)[source]#
Load data from a
pandas.DataFrame.If
with_default_function_argsis True, thenlearner.function’s default arguments are set (usingfunctools.partial) from the values in thepandas.DataFrame.- Parameters:
df (pandas.DataFrame) – The data to load.
with_default_function_args (bool, optional) – The
with_default_function_argsused into_dataframe(), by default Truefunction_prefix (str, optional) – The
function_prefixused into_dataframe, by default “function.”index_name (str, optional) – The
index_nameused into_dataframe, by default “i”x_name (str, optional) – The
x_nameused into_dataframe, by default “x”y_name (str, optional) – The
y_nameused into_dataframe, by default “y”full_sequence (bool, optional) – The
full_sequenceused into_dataframe, by default False
- loss(real: bool = True) float[source]#
Return the loss for the current state of the learner.
- Parameters:
real (bool, default: True) – If False, return the “expected” loss, i.e. the loss including the as-yet unevaluated points (possibly by interpolation).
- new() SequenceLearner[source]#
Return a new
SequenceLearnerwithout the data.
- tell(point: tuple[int | numpy.int64, Any], value: Any) None[source]#
Tell the learner about a single value.
- Parameters:
x (A value from the function domain) –
y (A value from the function image) –
- tell_pending(point: tuple[int | numpy.int64, Any]) None[source]#
Tell the learner that ‘x’ has been requested such that it’s not suggested again.
- to_dataframe(with_default_function_args: bool = True, function_prefix: str = 'function.', index_name: str = 'i', x_name: str = 'x', y_name: str = 'y', *, full_sequence: bool = False) DataFrame[source]#
Return the data as a
pandas.DataFrame.- Parameters:
with_default_function_args (bool, optional) – Include the
learner.function’s default arguments as a column, by default Truefunction_prefix (str, optional) – Prefix to the
learner.function’s default arguments’ names, by default “function.”index_name (str, optional) – Name of the index parameter, by default “i”
x_name (str, optional) – Name of the input value, by default “x”
y_name (str, optional) – Name of the output value, by default “y”
full_sequence (bool, optional) – If True, the returned dataframe will have the full sequence where the y_name values are pd.NA if not evaluated yet.
- Return type:
pandas.DataFrame
- Raises:
ImportError – If
pandasis not installed.