You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The number of generations executed (not planned as in the generations param) is prominently featured in TPOTEstimator's output, but doesn't appear to be accessible via its public API. I am testing progressively longer hyperparameter optimization of several ML models using TPOT2, and it would be useful to get this information directly from public / documented API that I have some assurance will be durable over time.
The best / only way I've found to get this so far is from estimator._evolver_instance.generation. estimator.evaluated_individuals seems to have the first generation each model was introduced, which isn't informative in recording when / why my optimization hit an early stop limit.
The text was updated successfully, but these errors were encountered:
New individuals are created every generation. The number of generations executed would be the highest generation number in estimator.evaluated_individuals. (Though sometimes the last generation may not be evaluated if the timeout happens to be after creating a new population but before evaluation, so technically the highest generation with either a score or eval error. If both score and eval error are non, the pipeline was not evaluated).
This seems like very important information given how prominently the generation numbers are displayed in the output. And it's important for my use case.
Given the number of special cases you describe, my suggestion is to implement this in the code so users don't have to know & write/maintain their own code against these details, which i assume could reasonably change during maintenance over the lifetime of the package.
E.g. something simple like:
@property
def generations_attempted() -> int:
# find max generation number with either a score or eval error
@property
def generations_completed() -> int:
# find max generation number with all scores
The number of generations executed (not planned as in the
generations
param) is prominently featured inTPOTEstimator's
output, but doesn't appear to be accessible via its public API. I am testing progressively longer hyperparameter optimization of several ML models using TPOT2, and it would be useful to get this information directly from public / documented API that I have some assurance will be durable over time.The best / only way I've found to get this so far is from
estimator._evolver_instance.generation
.estimator.evaluated_individuals
seems to have the first generation each model was introduced, which isn't informative in recording when / why my optimization hit an early stop limit.The text was updated successfully, but these errors were encountered: