shapiq_benchmark.setups.PathDependentTreeSetup¶
- class shapiq_benchmark.setups.PathDependentTreeSetup(*, dataset, random_state=42, dataset_params=<factory>, test_size=0.2, model='decision_tree', preset=None, model_params=<factory>, x=0, class_index=None, normalize=True)[source]¶
Bases:
ModelSetupA
PathDependentTreeGameof a tree model trained on a dataset.The explained point is taken from the test split.
- Variables:
model – A tree model name:
"decision_tree"(default),"random_forest","xgboost","lightgbm", or"catboost".x – The index of the explained point in the test split. Defaults to
0.class_index – The explained class for classifiers (
Nonemeans class1).normalize – Whether to center the game. Defaults to
True.
Examples
>>> setup = PathDependentTreeSetup(dataset="xor", model="random_forest") >>> setup.build().n_players 4
- estimator(task, **overrides)¶
Return the unfitted, seeded model for a task.
- Parameters:
task (
Task) –"classification"or"regression".**overrides (
Any) – Hyperparameters overridingmodel_params.
- Return type:
- load_split()¶
Load the dataset and split it (seeded, stratified for classification).
- Return type:
- sample_rows(n_rows, n)¶
Return
nsorted row indices out ofn_rows, drawn withrandom_state.All rows are returned if
nisNoneor at leastn_rows.- Return type:
- stratified_rows(y, n, task)¶
Return
nsorted row indices, drawn withrandom_stateand stratified by class.The rows are stratified for classification where every class has enough rows. All rows are returned if
nisNoneor 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()).
- class_index = None¶
- 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 = 'decision_tree'¶
- model_params¶
- name = 'path_dependent_tree'¶
The registered name of the setup.
- normalize = True¶
- preset = None¶
- random_state = 42¶
- tasks = ('classification', 'regression')¶
The tasks of the datasets the setup accepts.
- test_size = 0.2¶
- x = 0¶