dotnet / dotnet/machinelearning-modelbuilder

[AutoML,CLI,ModelBuilder] Exploration Time vs Epochs + Loss/AUC (Enhancement)

Open
#699 4 comments 3 reactions 0 assignees View on GitHub
Feature request
Dominant language
Dockerfile
Stars
285
Forks
66
PR merge metrics
No merged PRs in 30d

Description

This is more of a feature enhancement rather than an issue. Please let me know if this is the correct venue to submit this to.

In both the Model Builder GUI and the CLI for AutoML, the only option to customize training time is through the **max exploration time** setting. Example of CLI options:

![image](https://user-images.githubusercontent.com/12853868/57419929-a7d2a880-71b9-11e9-908e-1ce2d41e84e2.png)

This is a really neat way of changing things around instead of using epochs, using a time-based approach. But this could lead to undertraining a data set fairly easily, especially large ones, or produce a model that due to the fact that it hasn't been trained long enough (through several epochs throughout the entire dataset) didn't produce a good accuracy rate as expected.

I'm going to take a wild guess (can't find documentation for this) that the time based approach takes into account AUC or Loss as a criteria (or another common metric) to stop the training, is that correct? In other words if I have a small dataset and I set a training time of 4 hours, but the AUC or Loss didn't improve over X iterations it calls it a day and gives me the best result, is that correct?

It would be nice if the AutoML function (Model Builder, CLI and API) provided a way to (in addition to the time-based approach, or as an alternative to):

1. Set epochs for training rather than time based approach.
2. Set metric to look for when stopping a training, i.e.: auc, loss, etc.
3. Set thresholds of metrics to stop a training. i.e.: if after X number of epochs it doesn't improve, call it a day.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.