@@ -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