> ## Documentation Index
> Fetch the complete documentation index at: https://systematica.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Base

> systematica.portfolio.trial_selectors.base

## `BaseTrialSelector`

```python theme={null}
BaseTrialSelector(
    name=None,
)
```

Abstract class for hyperparameter selection.

This is the base class that defines the interface for all parameter selectors.
Child classes must implement the `run` method.

Method generated by attrs for class BaseTrialSelector.

### Ancestors

* `abc.ABC`

### Descendants

* `systematica.portfolio.trial_selectors.models.AUCMaximization`
* `systematica.portfolio.trial_selectors.models.BestMetricPoint`
* `systematica.portfolio.trial_selectors.models.ClosestIdealPoint`
* `systematica.portfolio.trial_selectors.models.DiversitySampling`
* `systematica.portfolio.trial_selectors.models.EfficientFrontierProjection`
* `systematica.portfolio.trial_selectors.models.ElbowPoint`
* `systematica.portfolio.trial_selectors.models.EpsilonConstraint`
* `systematica.portfolio.trial_selectors.models.HullExtremePoint`
* `systematica.portfolio.trial_selectors.models.HullMidPoint`
* `systematica.portfolio.trial_selectors.models.HullPoint`
* `systematica.portfolio.trial_selectors.models.HypervolumeContribution`
* `systematica.portfolio.trial_selectors.models.MaxMetricPoint`
* `systematica.portfolio.trial_selectors.models.MinMetricPoint`
* `systematica.portfolio.trial_selectors.models.Preference`
* `systematica.portfolio.trial_selectors.models.Random`
* `systematica.portfolio.trial_selectors.models.RegretMinimization`
* `systematica.portfolio.trial_selectors.models.RiskAwareUtility`

### Instance variables

* `name`: Name of the selector, used for identification.

### Methods

#### `run`

```python theme={null}
run(
    self,
    df: pandas.core.frame.DataFrame,
) ‑> pandas.core.series.Series | pandas.core.frame.DataFrame
```

Execute the selection algorithm.

**Parameters**:

| Name | Type               | Default | Description                                     |
| ---- | ------------------ | ------- | ----------------------------------------------- |
| `df` | `pandas.DataFrame` | `--`    | DataFrame containing parameters to select from. |

**Returns**:

| Type                        | Description                                                       |
| --------------------------- | ----------------------------------------------------------------- |
| `pd.Series or pd.DataFrame` | The selected parameters or None if no parameters can be selected. |

## `WrapTrialSelectors`

```python theme={null}
WrapTrialSelectors(
    strategies: List[systematica.portfolio.trial_selectors.base.BaseTrialSelector],
)
```

Wrapper for parameter selectors.

This class allows multiple selection strategies to be run on the same data.

Method generated by attrs for class WrapTrialSelectors.

### Instance variables

* `strategies: List[systematica.portfolio.trial_selectors.base.BaseTrialSelector]`: List of selector strategies to apply.

### Methods

#### `run_all`

```python theme={null}
run_all(
    self,
    df: pandas.core.frame.DataFrame,
) ‑> dict
```

Run all selector strategies on the provided data.

**Parameters**:

| Name | Type               | Default | Description                    |
| ---- | ------------------ | ------- | ------------------------------ |
| `df` | `pandas.DataFrame` | `--`    | Data to run the strategies on. |

**Returns**:

| Type   | Description                                             |
| ------ | ------------------------------------------------------- |
| `dict` | Dictionary mapping strategy names to selection results. |
