shapiq_benchmark.setups.ModelSetup

class shapiq_benchmark.setups.ModelSetup(*, dataset, random_state=42, dataset_params=<factory>, test_size=0.2, model='random_forest', preset=None, model_params=<factory>)[source]

Bases: TabularSetup

A tabular setup with a model of the registry (see shapiq_benchmark.models).

Variables:
  • model – The model name (see shapiq_benchmark.models.MODEL_NAMES).

  • preset – "tuned" for the tuned hyperparameters of the model on the dataset, or None for the defaults of the registry.

  • model_params – Hyperparameters of the model, overriding the preset.

abstractmethod build()

Build the game.

Return type:

Game

estimator(task, **overrides)[source]

Return the unfitted, seeded model for a task.

Parameters:
  • task (Task) – "classification" or "regression".

  • **overrides (Any) – Hyperparameters overriding model_params.

Return type:

Any

fit(split)[source]

Return the seeded model fitted on the training part of split.

Return type:

Any

load()

Load the dataset.

Return type:

Dataset

load_split()

Load the dataset and split it (seeded, stratified for classification).

Return type:

DatasetSplit

sample_rows(n_rows, n)

Return n sorted row indices out of n_rows, drawn with random_state.

All rows are returned if n is None or at least n_rows.

Return type:

ndarray

stratified_rows(y, n, task)

Return n sorted row indices, drawn with random_state and stratified by class.

The rows are stratified for classification where every class has enough rows. All rows are returned if n is None or at least the number of rows.

Return type:

GenericAlias[integer]

to_dict()

Return the setup as a JSON-serializable dictionary (the inverse of setup_from_dict()).

Return type:

dict[str, Any]

dataset
dataset_params
property key

A stable identifier of the game this setup builds, used as its cache key.

It is a digest of the setup’s name, version, RECIPE_VERSION, and fields (runtime fields excluded), so it is the same across processes and machines.

model = 'random_forest'
model_params
name

The registered name of the setup.

preset = None
random_state = 42
tasks = ('classification', 'regression')

The tasks of the datasets the setup accepts.

test_size = 0.2
version = 1

The version of build(), part of key.