alteryx / evalml

EvalML is an AutoML library written in python.
https://evalml.alteryx.com
BSD 3-Clause "New" or "Revised" License
764 stars 86 forks source link

Handle stacked ensembling for partial dependence fast mode #3780

Open tamargrey opened 1 year ago

tamargrey commented 1 year ago

Once #3779 is implemented, fast mode will not work in pipelines that use stacked ensembling.

This was not done due to the added complexity of handling it, but we should be able to handle stacked ensembling for partial dependence fast mode by recreating each individual inputted pipeline, getting their original X_t, transform the single column, and generate predictions, thus recreating the dataframe that gets passed into the stacked ensembler estimator.

This should be implemented by adding a handle_partial_dependence_fast_mode method in StackedEnsembleBase to handle the ensembler and change _can_be_used_for_fast_partial_dependence to True.

Note: I expect this to mean we have to change the parameters and return values of _handle_partial_dependence_fast_mode, because handling this component means we need to _get_cloned_feature_pipelines and _transform_single_feature for each sub-pipeline. We should make sure the implementation is still functional for future components that may need to use this method.

tamargrey commented 1 year ago

Can maybe use make_pipeline to recreate sub pipelines?