shapiq_benchmark.setups.UnsupervisedDataSetup

class shapiq_benchmark.setups.UnsupervisedDataSetup(*, dataset, random_state=42, dataset_params=<factory>, n_samples=None, n_bins=20)[source]

Bases: DatasetSetup

An UnsupervisedData game on (a seeded sample of) a dataset.

Variables:
  • n_samples – Use a seeded sample of this many rows (None for all).

  • n_bins – The number of equal-width bins per feature. Defaults to 20.

Examples

>>> UnsupervisedDataSetup(dataset="xor").build().n_players
4
build()[source]

Sample the rows and build the game.

Return type:

UnsupervisedData

load()

Load the dataset.

Return type:

Dataset

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.

n_bins = 20
n_samples = None
name = 'unsupervised_data'

The registered name of the setup.

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

The tasks of the datasets the setup accepts.

version = 1

The version of build(), part of key.