Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify Adaptive Random Forest #1323

Merged
merged 7 commits into from
Sep 19, 2023
Merged

Simplify Adaptive Random Forest #1323

merged 7 commits into from
Sep 19, 2023

Conversation

smastelini
Copy link
Member

While reviewing #1309 I realized that the proposed changes would make the existing code problematic due to the existing class hierarchy. For instance, MSTS is intended for classification tasks, but the ARFRegressor ended up being affected to some extent.

Thus, I decided to first simplify the existing code. Next, we need to think about how to better integrate MSTS.

Suggestions:

  • Create a new base Class intended to select subsets of classifiers/regressors in forest-based ensembles to generate the responses. This should become a single new parameter to ARF rather than multiple ones (ARF after MSTS ARFClassifier #1309 would have over 30 parameters!). Such implementation must be generic and work separately from the main ARF logic (or any other target ensemble algorithm).
    • In such case, such selector would be passed very much in the same fashion as the attribute splitters.
    • If the selector is supplied, it produces a list with the classifiers/regressors to use when computing the responses.
    • The selector will be updated during learning_one (thus the need for a carefully planned API) and queried in predict_one.
  • Alternatively, we can try and find a way to apply MSTS while only affecting ARFClassifier.

@smastelini smastelini self-assigned this Sep 18, 2023
@smastelini smastelini merged commit 487341b into main Sep 19, 2023
@smastelini smastelini deleted the arf-refactor branch September 19, 2023 00:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant