dataeval.utils.data.Select

class dataeval.utils.data.Select(dataset, selections=None)

Wraps a dataset and applies selection criteria to it.

Parameters:
dataset : Dataset

The dataset to wrap.

selections : Selection or list[Selection], optional

The selection criteria to apply to the dataset.

Examples

>>> from dataeval.utils.data.selections import ClassFilter, Limit
>>> # Construct a sample dataset with size of 100 and class count of 10
>>> # Elements at index `idx` are returned as tuples:
>>> # - f"data_{idx}", one_hot_encoded(idx % class_count), {"id": idx}
>>> dataset = SampleDataset(size=100, class_count=10)
>>> # Apply a selection criteria to the dataset
>>> selections = [Limit(size=5), ClassFilter(classes=[0, 2])]
>>> selected_dataset = Select(dataset, selections=selections)
>>> # Iterate over the selected dataset
>>> for data, target, meta in selected_dataset:
...     print(f"({data}, {np.argmax(target)}, {meta})")
(data_0, 0, {'id': 0})
(data_2, 2, {'id': 2})
(data_10, 0, {'id': 10})
(data_12, 2, {'id': 12})
(data_20, 0, {'id': 20})