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

AutoML model incorporating tune commands. #1410

Open
wants to merge 15 commits into
base: main
Choose a base branch
from

Conversation

seraphimstreets
Copy link

As part of the second stage of the GSOC AutoML project as defined in #968, this is a preliminary iteration of the AutoML model. The idea is to allow users to provide a dataset and list of models they wish to train, and DFFML's integrated AutoML model will perform training/tuning/scoring to select the best model for the user, abstracting away much of the ML process into an easy-to-use API. The current iteration performs the training and scoring using default hyperparameters, so has not implemented tuning yet. Some discussion by the community will be needed to evaluate the best way for tuning to occur in the AutoML process. (should we have default hyperparameter search spaces for each model, or must it be user-defined?)

Copy link
Contributor

@mhash1m mhash1m left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work so far, Lets continue the review on the weekend.

if self.parent.config.objective == "min":
highest_acc = float("inf")
elif self.parent.config.objective == "max":
highest_acc = -1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just in case we have a scorer that outputs values below -1 or if someone adds one in the future, lets have the highest_acc as float("-inf") (might want to confirm this syntax)

else:
tuner.config.parameters = {}

val = await tune(model, tuner, scorer, self.parent.config.predict, sources, sources)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets not use the same sources for train and validation. It was discussed that we will use a list of sources instead.

else:
tuner.config.parameters = {}

val = await tune(model, tuner, scorer, self.parent.config.predict, sources, sources)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lets rename val so it doesnt get confused with validation(val short)



from dffml_model_xgboost.xgbregressor import (
XGBRegressorModel,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this file left in intentionally? Let's double check for other additions like this which might be from directory copy pastin getc.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, you're right. I'll remove it.

@pdxjohnny pdxjohnny added the awaiting maintainer The PR is waiting for a maintainer to review it label Feb 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting maintainer The PR is waiting for a maintainer to review it
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants