5454
5555
5656def recompute_final_ranking (arena_df ):
57- # compute ranking based on CI
58- ranking = {}
59- for i , model_a in enumerate (arena_df .index ):
60- ranking [model_a ] = 1
61- for j , model_b in enumerate (arena_df .index ):
62- if i == j :
63- continue
64- if (
65- arena_df .loc [model_b ]["rating_q025" ]
66- > arena_df .loc [model_a ]["rating_q975" ]
67- ):
68- ranking [model_a ] += 1
69- return list (ranking .values ())
57+ q025 = arena_df ["rating_q025" ].values
58+ q975 = arena_df ["rating_q975" ].values
59+
60+ sorted_q025 = np .sort (q025 )
61+ insertion_indices = np .searchsorted (sorted_q025 , q975 , side = "right" )
62+ counts = len (sorted_q025 ) - insertion_indices
63+
64+ rankings = 1 + counts
65+ ranking_series = pd .Series (rankings , index = arena_df .index )
66+ return ranking_series .tolist ()
7067
7168
7269def arena_hard_title (date ):
@@ -81,22 +78,6 @@ def arena_hard_title(date):
8178 return arena_hard_title
8279
8380
84- def recompute_final_ranking (arena_df ):
85- # compute ranking based on CI
86- ranking = {}
87- for i , model_a in enumerate (arena_df .index ):
88- ranking [model_a ] = 1
89- for j , model_b in enumerate (arena_df .index ):
90- if i == j :
91- continue
92- if (
93- arena_df .loc [model_b ]["rating_q025" ]
94- > arena_df .loc [model_a ]["rating_q975" ]
95- ):
96- ranking [model_a ] += 1
97- return list (ranking .values ())
98-
99-
10081def update_elo_components (
10182 max_num_files , elo_results_file , ban_ip_file , exclude_model_names
10283):
0 commit comments