Fit interpretable models. Explain blackbox machine learning.
feature_groups_ -> term_features_
global_selector -> n_samples_, unique_val_counts_, and zero_val_counts_
domain_size_ -> min_target_, max_target_
additive_terms_ -> term_scores_
bagged_models_ -> BaseCoreEBM has been depricated and the only useful attribute has been moved
into the main EBM class (bagged_models_.model_ -> bagged_scores_)
feature_importances_ -> has been changed into the function term_importances(), which can now also
generate different types of importances
preprocessor_ & pair_preprocessor_ -> attributes have been moved into the main EBM model class (details below)
col_names_ -> feature_names_in_
col_types_ -> feature_types_in_
col_min_ -> feature_bounds_
col_max_ -> feature_bounds_
col_bin_edges_ -> bins_
col_mapping_ -> bins_
hist_counts_ -> histogram_counts_
hist_edges_ -> histogram_edges_
col_bin_counts_ -> bin_weights_ (and is now a per-term tensor)
interpret.privacy.{DPExplainableBoostingClassifier,DPExplainableBoostingRegressor}
.interpret
and interpret-core
now distributed via docker.joblib
can now support multiple engines with serialization support.predict_and_contrib
added to EBM where both predictions and feature contributions are generated in one call.interpret
now public at https://interpret.ml/docs.interpret
and interpret-core
now distributed via sdist.interpret.glassbox.ebm.utils
.Major upgrades to EBM in this release. Automatic interaction detection is now included by default. This will increase accuracy substantially in most cases. Numerous optimizations to support this, especially around binary classification. Expect similar or slightly slower training times due to interactions.
outer_bags=16
to outer_bags=8
.interactions=0
to interactions=10
.treeinterpreter
is now unstable due to upstream dependencies.max_interaction_bins
as argument to EBM learners for different sized
bins on interactions, separate to mains.from interpret import set_visualize_provider
from interpret.provider import InlineProvider
from interpret.version import __version__
# Change this to your custom CDN.
JS_URL = "https://unpkg.com/@interpretml/interpret-inline@{}/dist/interpret-inline.js".format(__version__)
set_visualize_provider(InlineProvider(js_url=JS_URL))
schema -> DROPPED
n_estimators -> outer_bags
holdout_size -> validation_size
scoring -> DROPPED
holdout_split -> DROPPED
main_attr -> mains
data_n_episodes -> max_rounds
early_stopping_run_length -> early_stopping_rounds
feature_step_n_inner_bags -> inner_bags
training_step_epsiodes -> DROPPED
max_tree_splits -> max_leaves
min_cases_for_splits -> DROPPED
min_samples_leaf -> ADDED (Minimum number of samples that are in a leaf)
binning_strategy -> binning
max_n_bins -> max_bins
n_estimators -> outer_bags
holdout_size -> validation_size
scoring -> DROPPED
holdout_split -> DROPPED
main_attr -> mains
data_n_episodes -> max_rounds
early_stopping_run_length -> early_stopping_rounds
feature_step_n_inner_bags -> inner_bags
training_step_epsiodes -> DROPPED
max_tree_splits -> max_leaves
min_cases_for_splits -> DROPPED
min_samples_leaf -> ADDED (Minimum number of samples that are in a leaf)
binning_strategy -> binning
max_n_bins -> max_bins
attribute_sets_ -> feature_groups_
attribute_set_models_ -> additive_terms_ (Pairs are now transposed)
model_errors_ -> term_standard_deviations_
main_episode_idxs_ -> breakpoint_iteration_[0]
inter_episode_idxs_ -> breakpoint_iteration_[1]
mean_abs_scores_ -> feature_importances_