Skip to content

class AutoBase and AutoAbstract #1023

Closed
martins0n opened this issue Nov 30, 2022 · 5 comments · Fixed by #1114
Closed

class AutoBase and AutoAbstract #1023

martins0n opened this issue Nov 30, 2022 · 5 comments · Fixed by #1114
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@martins0n
Copy link
Contributor

🚀 Feature Request

  • Auto and Tune share the same logic and methods
  • We should move it to unified class

Proposal

  • add class AutoBase with methods fit, summary, top_k
  • add interface AutoAbstract with fit, summary, top_k, objective , _init_optuna
  • inherit Auto from AutoBase

Test cases

  • refactor test_auto to test common methods of AutoBase where it's necessary

Additional context

No response

@martins0n martins0n added the enhancement New feature or request label Nov 30, 2022
@martins0n martins0n added this to the AutoML 2.0 milestone Nov 30, 2022
@martins0n martins0n moved this to Specification in etna board Nov 30, 2022
@martins0n martins0n mentioned this issue Dec 1, 2022
@martins0n martins0n moved this from Specification to Backlog in etna board Dec 1, 2022
@GooseIt
Copy link
Contributor

GooseIt commented Feb 6, 2023

I'd like to take this issue after completing 1025.

@martins0n martins0n moved this from Backlog to Todo in etna board Feb 8, 2023
@GooseIt
Copy link
Contributor

GooseIt commented Feb 8, 2023

As I currently understand it, classes Tune and Auto will have vastly different fit methods: the first is going to optimize hyperparameters for one selected Pipeline, while the second will pick the best-fitted pipeline from a user-determined pool without any hyperparameter optimization for any given pipeline. The question is:
Should fit method in AutoBase class be an abstractmethod, that later will be overridden separately in Tune and Auto classes?
Or should I rather strive to write fit method in such a way that it will work with both Tune and Auto classes without any overrides?
If I am wrong in my understanding, please correct me.

@martins0n
Copy link
Contributor Author

martins0n commented Feb 9, 2023

Should fit method in AutoBase class be an abstractmethod, that later will be overridden separately in Tune and Auto classes?

Yes, you're right

It's better to implement it mostly separately. In case they have something in common we will refactor it next.

In the future tasks fit in Auto will call Tune.fit for the best configs to be fine turned - so the logic will be more complicated

@GooseIt
Copy link
Contributor

GooseIt commented Feb 13, 2023

In case you worry that I left the project silently, I'm still working on the issue and will submit code tomorrow.

@martins0n
Copy link
Contributor Author

It's ok. We are not in a hurry

@alex-hse-repository alex-hse-repository moved this from Todo to In Review in etna board Feb 15, 2023
@Mr-Geekman Mr-Geekman moved this from In Review to In Progress in etna board Feb 16, 2023
@github-project-automation github-project-automation bot moved this from In Progress to Done in etna board Feb 22, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants