Skip to content

Commit 3495683

Browse files
committed
move the measure_interactions function and it's dependencies into the _ebm_core module
1 parent 2c68999 commit 3495683

14 files changed

Lines changed: 40 additions & 36 deletions

docs/interpret/python/api/measure_interactions.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"# measure_interactions\n",
99
"\n",
1010
"```{eval-rst}\n",
11-
".. autofunction:: interpret.utils.measure_interactions\n",
11+
".. autofunction:: interpret.glassbox.measure_interactions\n",
1212
"```"
1313
]
1414
}

docs/interpret/python/examples/custom-interactions.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@
8686
"metadata": {},
8787
"outputs": [],
8888
"source": [
89-
"from interpret.utils import measure_interactions\n",
89+
"from interpret.glassbox import measure_interactions\n",
9090
"from itertools import combinations\n",
9191
"\n",
9292
"n_features = X_train.shape[1]\n",

python/interpret-core/interpret-core.pyproj

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,17 @@
5858
<Compile Include="interpret\glassbox\_decisiontree.py" />
5959
<Compile Include="interpret\glassbox\_ebm.py" />
6060
<Compile Include="interpret\glassbox\_ebm_core\_bin.py" />
61+
<Compile Include="interpret\glassbox\_ebm_core\_callbacks.py" />
62+
<Compile Include="interpret\glassbox\_ebm_core\_compressed_dataset.py" />
6163
<Compile Include="interpret\glassbox\_ebm_core\_excel.py" />
6264
<Compile Include="interpret\glassbox\_ebm_core\_json.py" />
65+
<Compile Include="interpret\glassbox\_ebm_core\_measure_interactions.py" />
6366
<Compile Include="interpret\glassbox\_ebm_core\_multiclass.py" />
67+
<Compile Include="interpret\glassbox\_ebm_core\_preprocessor.py" />
68+
<Compile Include="interpret\glassbox\_ebm_core\_rank_interactions.py" />
6469
<Compile Include="interpret\glassbox\_ebm_core\_research\_group_importance.py" />
6570
<Compile Include="interpret\glassbox\_ebm_core\_research\__init__.py" />
71+
<Compile Include="interpret\glassbox\_ebm_core\_shared_dataset.py" />
6672
<Compile Include="interpret\glassbox\_ebm_core\_tensor.py" />
6773
<Compile Include="interpret\glassbox\_ebm_core\_utils.py" />
6874
<Compile Include="interpret\glassbox\_ebm_core\_boost.py" />
@@ -84,21 +90,16 @@
8490
<Compile Include="interpret\provider\__init__.py" />
8591
<Compile Include="interpret\utils\_explanation.py" />
8692
<Compile Include="interpret\utils\_clean_simple.py" />
87-
<Compile Include="interpret\utils\_compressed_dataset.py" />
8893
<Compile Include="interpret\utils\_histogram.py" />
8994
<Compile Include="interpret\utils\_link.py" />
9095
<Compile Include="interpret\utils\_measure_mem.py" />
9196
<Compile Include="interpret\utils\_misc.py" />
9297
<Compile Include="interpret\utils\_purify.py" />
93-
<Compile Include="interpret\utils\_rank_interactions.py" />
9498
<Compile Include="interpret\utils\_shap_common.py" />
9599
<Compile Include="interpret\utils\_clean_x.py" />
96-
<Compile Include="interpret\utils\_measure_interactions.py" />
97100
<Compile Include="interpret\utils\_native.py" />
98-
<Compile Include="interpret\utils\_preprocessor.py" />
99101
<Compile Include="interpret\utils\_privacy.py" />
100102
<Compile Include="interpret\utils\_seed.py" />
101-
<Compile Include="interpret\utils\_shared_dataset.py" />
102103
<Compile Include="interpret\utils\_synthetic.py" />
103104
<Compile Include="interpret\utils\_unify_predict.py" />
104105
<Compile Include="interpret\utils\_unify_data.py" />
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
# Copyright (c) 2023 The InterpretML Contributors
22
# Distributed under the MIT software license
33

4-
from ._aplr import APLRClassifier, APLRRegressor # noqa: F401
5-
from ._decisiontree import ClassificationTree, RegressionTree # noqa: F401
64
from ._ebm import (
7-
EBMClassifier, # noqa: F401
85
EBMModel, # noqa: F401
6+
EBMClassifier, # noqa: F401
97
EBMRegressor, # noqa: F401
108
ExplainableBoostingClassifier, # noqa: F401
119
ExplainableBoostingRegressor, # noqa: F401
1210
)
1311
from ._ebm_core._callbacks import CallbackAction # noqa: F401
12+
from ._ebm_core._preprocessor import EBMPreprocessor # noqa: F401
13+
from ._ebm_core._measure_interactions import measure_interactions # noqa: F401
1414
from ._ebm_core._merge_ebms import merge_ebms # noqa: F401
1515
from ._linear import LinearRegression, LogisticRegression # noqa: F401
1616
from ._skoperules import DecisionListClassifier # noqa: F401
17+
from ._aplr import APLRClassifier, APLRRegressor # noqa: F401
18+
from ._decisiontree import ClassificationTree, RegressionTree # noqa: F401

python/interpret-core/interpret/glassbox/_ebm.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
typify_classification,
3838
)
3939
from ..utils._clean_x import preclean_X
40-
from ..utils._compressed_dataset import bin_native_by_dimension
40+
from ._ebm_core._compressed_dataset import bin_native_by_dimension
4141
from ..utils._explanation import (
4242
gen_global_selector,
4343
gen_local_selector,
@@ -49,15 +49,15 @@
4949
from ..utils._measure_mem import total_bytes
5050
from ..utils._misc import clean_index, clean_indexes, normalize_objective
5151
from ..utils._native import Native
52-
from ..utils._preprocessor import construct_bins
52+
from ._ebm_core._preprocessor import construct_bins
5353
from ..utils._privacy import (
5454
calc_classic_noise_multi,
5555
calc_gdp_noise_multi,
5656
validate_eps_delta,
5757
)
58-
from ..utils._rank_interactions import rank_interactions
58+
from ._ebm_core._rank_interactions import rank_interactions
5959
from ..utils._seed import normalize_seed
60-
from ..utils._shared_dataset import SharedDataset
60+
from ._ebm_core._shared_dataset import SharedDataset
6161
from ..utils._unify_data import unify_data
6262
from ._ebm_core._bin import (
6363
ebm_eval_terms,

python/interpret-core/interpret/utils/_compressed_dataset.py renamed to python/interpret-core/interpret/glassbox/_ebm_core/_compressed_dataset.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55

66
import numpy as np
77

8-
from ._clean_x import categorical_encode, unify_columns_schematized
9-
from ._native import Native
8+
from ...utils._clean_x import categorical_encode, unify_columns_schematized
9+
from ...utils._native import Native
1010
from multiprocessing import shared_memory
1111

1212
_log = logging.getLogger(__name__)

python/interpret-core/interpret/utils/_measure_interactions.py renamed to python/interpret-core/interpret/glassbox/_ebm_core/_measure_interactions.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,21 @@
1212
import logging
1313
from itertools import combinations, count
1414

15-
from .. import develop
15+
from ... import develop
1616
import numpy as np
17-
from ..core.sklearn import _is_classifier, _is_regressor
17+
from ...core.sklearn import _is_classifier, _is_regressor
1818

19-
from ._clean_simple import (
19+
from ...utils._clean_simple import (
2020
clean_dimensions,
2121
clean_X_and_init_score,
2222
typify_classification,
2323
)
2424
from ._compressed_dataset import bin_native_by_dimension
25-
from ._native import Native
25+
from ...utils._native import Native
2626
from ._preprocessor import construct_bins
2727
from ._rank_interactions import rank_interactions
2828
from ._shared_dataset import SharedDataset
29-
from ._misc import normalize_objective
29+
from ...utils._misc import normalize_objective
3030

3131
_log = logging.getLogger(__name__)
3232

python/interpret-core/interpret/utils/_preprocessor.py renamed to python/interpret-core/interpret/glassbox/_ebm_core/_preprocessor.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,25 @@
77
from warnings import warn
88

99
import numpy as np
10-
from ..core.sklearn import SKBaseEstimator, SKTransformerMixin, SKNotFittedError
10+
from ...core.sklearn import SKBaseEstimator, SKTransformerMixin, SKNotFittedError
1111

12-
from ._clean_simple import clean_dimensions
13-
from ._clean_x import (
12+
from ...utils._clean_simple import clean_dimensions
13+
from ...utils._clean_x import (
1414
preclean_X,
1515
unify_columns_nonschematized,
1616
unify_columns_schematized,
1717
unify_feature_names,
1818
categorical_encode,
1919
)
20-
from ._native import Native
21-
from ._privacy import (
20+
from ...utils._native import Native
21+
from ...utils._privacy import (
2222
calc_classic_noise_multi,
2323
calc_gdp_noise_multi,
2424
private_categorical_binning,
2525
private_numeric_binning,
2626
validate_eps_delta,
2727
)
28-
from ._seed import increment_seed, normalize_seed
28+
from ...utils._seed import increment_seed, normalize_seed
2929

3030
_log = logging.getLogger(__name__)
3131
_none_list = [None]

python/interpret-core/interpret/utils/_rank_interactions.py renamed to python/interpret-core/interpret/glassbox/_ebm_core/_rank_interactions.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111

1212
import heapq
1313

14-
from ._native import InteractionDetector
15-
from .. import develop
14+
from ...utils._native import InteractionDetector
15+
from ... import develop
1616
import numpy as np
1717
from multiprocessing import shared_memory
1818

python/interpret-core/interpret/utils/_shared_dataset.py renamed to python/interpret-core/interpret/glassbox/_ebm_core/_shared_dataset.py

File renamed without changes.

0 commit comments

Comments
 (0)