summaryrefslogtreecommitdiff
path: root/ml_model_trainer.py
diff options
context:
space:
mode:
authorScott Gasch <[email protected]>2021-07-08 19:44:27 -0700
committerScott Gasch <[email protected]>2021-07-08 19:44:27 -0700
commit3bc4daf1edc121cd633429187392227f2fa61885 (patch)
tree0663cf35f562c7023c914454c85050d502ad9f3c /ml_model_trainer.py
parent5fd30ef12c100cbb936aa0fdb515b67cff4064db (diff)
Lots of changes.
Diffstat (limited to 'ml_model_trainer.py')
-rw-r--r--ml_model_trainer.py47
1 files changed, 24 insertions, 23 deletions
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)