From 3bc4daf1edc121cd633429187392227f2fa61885 Mon Sep 17 00:00:00 2001 From: Scott Gasch Date: Thu, 8 Jul 2021 19:44:27 -0700 Subject: Lots of changes. --- ml_model_trainer.py | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) (limited to 'ml_model_trainer.py') diff --git a/ml_model_trainer.py b/ml_model_trainer.py index edddcc0..b0a9a1b 100644 --- a/ml_model_trainer.py +++ b/ml_model_trainer.py @@ -142,35 +142,36 @@ class TrainingBlueprint(ABC): best_test_score = None best_training_score = None best_params = None - for model in smart_future.wait_many(models): + for model in smart_future.wait_any(models): params = modelid_to_params[model.get_id()] if isinstance(model, smart_future.SmartFuture): model = model._resolve() - training_score, test_score = self.evaluate_model( - model, - self.X_train_scaled, - self.y_train, - self.X_test_scaled, - self.y_test, - ) - score = (training_score + test_score * 20) / 21 - if not self.spec.quiet: - print( - f"{bold()}{params}{reset()}: " - f"Training set score={training_score:.2f}%, " - f"test set score={test_score:.2f}%", - file=sys.stderr, + if model is not None: + training_score, test_score = self.evaluate_model( + model, + self.X_train_scaled, + self.y_train, + self.X_test_scaled, + self.y_test, ) - if best_score is None or score > best_score: - best_score = score - best_test_score = test_score - best_training_score = training_score - best_model = model - best_params = params + score = (training_score + test_score * 20) / 21 if not self.spec.quiet: print( - f"New best score {best_score:.2f}% with params {params}" + f"{bold()}{params}{reset()}: " + f"Training set score={training_score:.2f}%, " + f"test set score={test_score:.2f}%", + file=sys.stderr, ) + if best_score is None or score > best_score: + best_score = score + best_test_score = test_score + best_training_score = training_score + best_model = model + best_params = params + if not self.spec.quiet: + print( + f"New best score {best_score:.2f}% with params {params}" + ) if not self.spec.quiet: msg = f"Done training; best test set score was: {best_test_score:.1f}%" @@ -279,7 +280,7 @@ class TrainingBlueprint(ABC): file_list = list(files) results.append(self.read_files_from_list(file_list, n)) - for result in smart_future.wait_many(results, callback=self.make_progress_graph): + for result in smart_future.wait_any(results, callback=self.make_progress_graph): result = result._resolve() for z in result[0]: X.append(z) -- cgit v1.3