Skip to content

Getting ValueError: axes don't match array while using merge_ebms on multi labels ExplainableBoostingClassifier #390

@lbalec

Description

@lbalec

I'm testing merging multi labels ExplainableBoostingClassifier models with merge_ebms method (interpret==0.3.0 from pypi on python 3.7 (my stage env) and 3.8 (clean conda env from scratch only for 0.3.0 version)

models = []
for i in range(10):
    _model_clf = ExplainableBoostingClassifier(random_state=i, n_jobs=-1, interactions=[])
    _model_clf.fit(X_train[features], X_train[target])
    models.append(_model_clf)

and I'm getting following error:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/tmp/ipykernel_40170/2566246721.py in <module>
----> 1 model_clf = merge_ebms(models)

~/.conda/envs/image-processing/lib/python3.7/site-packages/interpret/glassbox/ebm/utils.py in merge_ebms(models)
    940                         old_mapping[model_idx],
    941                         model.bagged_scores_[term_idx][bag_idx],
--> 942                         model.bin_weights_[term_idx] # we use these to weigh distribution of scores for mulple bins
    943                     )
    944                     new_bagged_scores.append(harmonized_bagged_scores)

~/.conda/envs/image-processing/lib/python3.7/site-packages/interpret/glassbox/ebm/utils.py in _harmonize_tensor(new_feature_idxs, new_bounds, new_bins, old_feature_idxs, old_bounds, old_bins, old_mapping, old_tensor, bin_evidence_weight)
    387     old_tensor = old_tensor.transpose(tuple(axes))
    388     if bin_evidence_weight is not None:
--> 389         bin_evidence_weight = bin_evidence_weight.transpose(tuple(axes))
    390 
    391     mapping = []

ValueError: axes don't match array

I've tried setup different parameters (binning, inner and outer bags, explicitly pointing the features names and types) and the result is always the same - ValueError: axes don't match array. I'm getting this error only with multilabel problem, merging binary classifiers works perfectly fine. Any help here?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions