[ENH] reduce private coupling of IndividualBOSS
classifier and BaseClassifier
#5654
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR removes an instance of problematic private coupling of
IndividualBOSS
classifier to the boilerplate layer ofBaseClassifier
, which could makeIndividualBOSS
and dependents break in boilerplate refactor such as #5408.The
_shorten_bags
logic internally made a "fitted clone" ofself
, with explicit copying of attributes, that assumed specifics of the private structure ofBaseClassifier
such as "names of all private attributes" that were hard-coded inIndividualBOSS
.This coupling has been removed to the largest extent by instead using
deepcopy
and changing only the attributes that need to change.