Skip to content

Commit 5d67345

Browse files
committed
fix: Apply models on same split to remove flakiness
1 parent 4197965 commit 5d67345

2 files changed

Lines changed: 12 additions & 10 deletions

File tree

.data/plots/r2-scores-boxplot.png

-4.04 KB
Loading

cli.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -234,13 +234,12 @@ def run_embedding_classification(run_count: int = 5):
234234
]
235235

236236
results_per_model = {}
237-
for embedder in embedders:
238-
results_per_run = []
239-
model_name = embedder.model
237+
for _ in range(1, run_count + 1):
238+
# split per run, so each model uses same splits
239+
df_train, df_test = train_test_split(df_agg, test_size=0.25)
240240

241-
for _ in range(1, run_count + 1):
242-
# split per run
243-
df_train, df_test = train_test_split(df_agg, test_size=0.25)
241+
for embedder in embedders:
242+
model_name = embedder.model
244243

245244
print("\n")
246245
print("#" * 50)
@@ -311,7 +310,13 @@ def run_embedding_classification(run_count: int = 5):
311310

312311
# Evaluate the model on test set
313312
metrics = evaluate_similarity_predictions(df_test["similarity"], y_pred)
314-
results_per_run.append(metrics)
313+
314+
# add the run metrics to the results per model
315+
try:
316+
results_per_model[model_name].append(metrics)
317+
except KeyError:
318+
# first run of model
319+
results_per_model[model_name] = [metrics]
315320

316321
# Create results dataframe with test predictions
317322
df_test_results = df_test.copy()
@@ -329,9 +334,6 @@ def run_embedding_classification(run_count: int = 5):
329334
].head()
330335
)
331336

332-
results_per_model[model_name] = results_per_run
333-
print(results_per_run)
334-
335337
# Create box plot
336338
create_box_plot(results_per_model)
337339

0 commit comments

Comments
 (0)