Skip to content

Commit bf8d54f

Browse files
committed
ranking the models and strategies
1 parent 00ed5c7 commit bf8d54f

File tree

1 file changed

+15
-17
lines changed

1 file changed

+15
-17
lines changed

eval/dashboard.py

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -188,10 +188,9 @@ def missing_weeks(series):
188188
fig.add_trace(go.Scatter(x=testres_x, y = testres,
189189
name=strategy+'-PI', mode='lines',
190190
line=dict(color=px.colors.qualitative.Pastel[i], dash='dash'),
191-
legendgroup=strategy, legendgrouptitle=dict(text=strategy),
191+
legendgroup=strategy, legendgrouptitle=dict(text=strategy+' (Train)'),
192192
showlegend=True
193193
), row=1, col=1)
194-
195194

196195
### Trajectory error
197196
# Load and create trace for ground truth data
@@ -213,15 +212,16 @@ def missing_weeks(series):
213212
gname = model_name+' (Train)'
214213
df_list = []
215214
for seed in wfe.results[model_name]['iter_1']['train'].keys():
216-
df_list.append(wfe.results[model_name]['iter_1']['train'][seed]['forecast'])
215+
# Select the DMA here already
216+
df_list.append(wfe.results[model_name]['iter_1']['train'][seed]['forecast'][dma])
217217

218218
# Concatenate all the seeds
219219
forecast = pd.concat(df_list,
220220
keys=range(len(df_list)),
221221
names=['Seed', 'Date'])
222222

223223
# Select DMA
224-
forecast = forecast[dma]
224+
# forecast = forecast[dma]
225225

226226
error = forecast.copy()
227227
for seed in error.index.get_level_values('Seed').unique():
@@ -268,7 +268,7 @@ def missing_weeks(series):
268268
if phase in wfe.results[model_name][l__iter]:
269269
seed_list = []
270270
for seed in wfe.results[model_name][l__iter][phase].keys():
271-
seed_list.append(wfe.results[model_name][l__iter][phase][seed]['forecast'])
271+
seed_list.append(wfe.results[model_name][l__iter][phase][seed]['forecast'][dma])
272272
# Concatenate all the seeds
273273
df_list.append(pd.concat(seed_list,
274274
keys=range(len(seed_list)),
@@ -278,7 +278,7 @@ def missing_weeks(series):
278278
forecast = pd.concat(df_list)
279279

280280
# Select DMA
281-
forecast = forecast[dma]
281+
#forecast = forecast[dma]
282282

283283
error = forecast.copy()
284284

@@ -427,10 +427,9 @@ def table_winner(models):
427427
#print(f'Model {model} has {pi}={models_score[model_idx]} on {dma} and week {tw}')
428428

429429
# rank them by score and add them to the total competiion score (ranking)
430-
431-
# models_ranking=some sort of ranking
430+
models_ranking = np.argsort(models_score)
431+
total_models_ranking += models_ranking
432432

433-
#total_models_ranking+=models_ranking
434433
total_models_ranking=total_models_ranking/(len(DMAS_NAMES)*len(PI_DESCRIPTIONS)*len(test_weeks_m))
435434

436435
# now let's do the same but adding the strategies in the competition
@@ -450,22 +449,21 @@ def table_winner(models):
450449
#print(f'Model {model} has {pi}={models_score[model_idx]} on {dma} and week {tw}')
451450

452451
# rank them by score and add them to the total competiion score (ranking)
453-
454-
# models_ranking=some sort of ranking
455-
456-
#total_mers_ranking+=models_ranking
452+
models_ranking = np.argsort(models_score)
453+
total_mers_ranking += models_ranking
454+
457455
total_mers_ranking=total_mers_ranking/(len(DMAS_NAMES)*len(PI_DESCRIPTIONS)*len(test_weeks_s))
458456

459457
# Now return something like '#1 - Model x (1,345)'
460-
final_models_ranking=range(len(models))
458+
final_models_ranking=np.argsort(total_models_ranking)
461459
models_ranked_list=[]
462460
for idx, model_idx in enumerate(final_models_ranking):
463-
models_ranked_list.append(f'#{idx+1} - {models[model_idx]} ({total_models_ranking[model_idx]})')
461+
models_ranked_list.append(f'#{idx+1} - {models[model_idx]} ({total_models_ranking[model_idx]+1:.2f})')
464462

465-
final_mers_ranking=range(len(mers))
463+
final_mers_ranking=np.argsort(total_mers_ranking)
466464
mers_ranked_list=[]
467465
for idx, mers_idx, in enumerate(final_mers_ranking):
468-
mers_ranked_list.append(f'#{idx+1} - {mers[mers_idx]} ({total_mers_ranking[mers_idx]})')
466+
mers_ranked_list.append(f'#{idx+1} - {mers[mers_idx]} ({total_mers_ranking[mers_idx]+1:.2f})')
469467

470468
table_data=[]
471469
for idx in range(len(mers_ranked_list)): #because mers is for sure longer

0 commit comments

Comments
 (0)