louisldn commited on
Commit
43ef7d3
Β·
1 Parent(s): ce87c62

updated xgboost metrics

Browse files
Files changed (3) hide show
  1. __pycache__/utils.cpython-310.pyc +0 -0
  2. app.py +12 -12
  3. utils.py +2 -2
__pycache__/utils.cpython-310.pyc CHANGED
Binary files a/__pycache__/utils.cpython-310.pyc and b/__pycache__/utils.cpython-310.pyc differ
 
app.py CHANGED
@@ -223,7 +223,7 @@ with open("complete_results_acad.json", 'r') as f:
223
  # Recompute Elo scores for the full public dataset
224
  public_per_dataset = compute_elo_for_subset(public_per_dataset, metric="Accuracy")
225
  # Compute percentage improvement over XGBoost
226
- public_per_dataset = compute_pct_improvement_over_baseline(public_per_dataset, baseline_model="xgboost_ensemble", metric="Accuracy")
227
  public_enter_per_dataset = public_per_dataset
228
 
229
  with open("complete_results_indus.json", "r") as f:
@@ -232,7 +232,7 @@ with open("complete_results_indus.json", "r") as f:
232
  # Recompute Elo scores for the full private dataset
233
  private_per_dataset = compute_elo_for_subset(private_per_dataset, metric="Accuracy")
234
  # Compute percentage improvement over XGBoost
235
- private_per_dataset = compute_pct_improvement_over_baseline(private_per_dataset, baseline_model="xgboost_ensemble", metric="Accuracy")
236
 
237
  with open("qrt.json", "r") as f:
238
  qrt_scores = json.load(f)
@@ -449,14 +449,14 @@ with gr.Blocks(css=css, theme=gr.themes.Default()) as demo:
449
  gr.Markdown(' ')
450
  with gr.Row(equal_height=False):
451
  with gr.Column(scale=8):
452
- public_model_agg = public_per_dataset.groupby('model')[['Accuracy', 'Precision', 'Recall', 'F1_score', 'AUC', 'Elo_score', 'Pct_Improvement_over_XGBoost']].mean().reset_index()
453
- public_enter_model_agg = public_enter_per_dataset.groupby('model')[['Accuracy', 'Precision', 'Recall', 'F1_score', 'AUC', 'Elo_score', 'Pct_Improvement_over_XGBoost']].mean().reset_index()
454
  gr.Markdown("## πŸ† Overview of the Leaderboard *(Evaluation on publicly available Enterprise Datasets)*")
455
  gr.Markdown(' ')
456
 
457
  with gr.Row():
458
  metric_selector = gr.Dropdown(
459
- choices=["Accuracy", "Precision", "Recall", "F1_score", "AUC", "Elo_score", "Pct_Improvement_over_XGBoost"],
460
  value="Accuracy",
461
  label="πŸ“Š Metric to display",
462
  elem_classes=["compact-dropdown"]
@@ -543,7 +543,7 @@ with gr.Blocks(css=css, theme=gr.themes.Default()) as demo:
543
  gr.Markdown("## πŸ† Overview ")
544
 
545
  # Compute per-model averages from public_per_dataset
546
- public_model_agg = public_per_dataset.groupby('model')[['Accuracy', 'Precision', 'Recall', 'F1_score', 'AUC', 'Elo_score', 'Pct_Improvement_over_XGBoost']].mean().reset_index()
547
  public_model_agg = public_model_agg.round(3)
548
  # Add model_type from model_info.json
549
  with open("model_info.json", "r") as f:
@@ -551,7 +551,7 @@ with gr.Blocks(css=css, theme=gr.themes.Default()) as demo:
551
 
552
  public_model_agg = public_model_agg.merge(model_info[["model_name", "model_type"]], left_on="model", right_on="model_name", how="left").drop(columns=["model_name"])
553
  # Only keep the required columns, with model_type second
554
- public_model_agg = public_model_agg[['model', 'model_type', 'Accuracy', 'Precision', 'Recall', 'F1_score', 'AUC', 'Elo_score', 'Pct_Improvement_over_XGBoost']]
555
  public_model_agg = public_model_agg.sort_values(by=["model"], key=lambda x: x != "NICL")
556
  model_df = gr.DataFrame(
557
  value=highlight_max(public_model_agg),
@@ -630,7 +630,7 @@ with gr.Blocks(css=css, theme=gr.themes.Default()) as demo:
630
  "F1_score",
631
  "AUC",
632
  "Elo_score",
633
- "Pct_Improvement_over_XGBoost",
634
  ]
635
 
636
  # --- Filtering & aggregation ---
@@ -650,7 +650,7 @@ with gr.Blocks(css=css, theme=gr.themes.Default()) as demo:
650
  # Recompute Elo scores for this filtered subset
651
  filtered = compute_elo_for_subset(filtered, metric="Accuracy")
652
  # Recompute percentage improvement over XGBoost
653
- filtered = compute_pct_improvement_over_baseline(filtered, baseline_model="xgboost_ensemble", metric="Accuracy")
654
 
655
  per_model_avg = (
656
  filtered
@@ -701,11 +701,11 @@ with gr.Blocks(css=css, theme=gr.themes.Default()) as demo:
701
  # Recompute Elo scores for this industry subset
702
  domain_per_dataset = compute_elo_for_subset(domain_per_dataset, metric="Accuracy")
703
  # Recompute percentage improvement over XGBoost for this industry subset
704
- domain_per_dataset = compute_pct_improvement_over_baseline(domain_per_dataset, baseline_model="xgboost_ensemble", metric="Accuracy")
705
 
706
  model_agg = (
707
  domain_per_dataset
708
- .groupby('model')[['Accuracy', 'Precision', 'Recall', 'F1_score', 'AUC', 'Elo_score', 'Pct_Improvement_over_XGBoost']]
709
  .mean()
710
  .round(3)
711
  .reset_index()
@@ -762,7 +762,7 @@ with gr.Blocks(css=css, theme=gr.themes.Default()) as demo:
762
  "F1_score",
763
  "AUC",
764
  "Elo_score",
765
- "Pct_Improvement_over_XGBoost",
766
  ]
767
 
768
  # Available datasets
 
223
  # Recompute Elo scores for the full public dataset
224
  public_per_dataset = compute_elo_for_subset(public_per_dataset, metric="Accuracy")
225
  # Compute percentage improvement over XGBoost
226
+ public_per_dataset = compute_pct_improvement_over_baseline(public_per_dataset, baseline_model="xgboost", metric="Accuracy")
227
  public_enter_per_dataset = public_per_dataset
228
 
229
  with open("complete_results_indus.json", "r") as f:
 
232
  # Recompute Elo scores for the full private dataset
233
  private_per_dataset = compute_elo_for_subset(private_per_dataset, metric="Accuracy")
234
  # Compute percentage improvement over XGBoost
235
+ private_per_dataset = compute_pct_improvement_over_baseline(private_per_dataset, baseline_model="xgboost", metric="Accuracy")
236
 
237
  with open("qrt.json", "r") as f:
238
  qrt_scores = json.load(f)
 
449
  gr.Markdown(' ')
450
  with gr.Row(equal_height=False):
451
  with gr.Column(scale=8):
452
+ public_model_agg = public_per_dataset.groupby('model')[['Accuracy', 'Precision', 'Recall', 'F1_score', 'AUC', 'Elo_score', '%β†— over XGBoost']].mean().reset_index()
453
+ public_enter_model_agg = public_enter_per_dataset.groupby('model')[['Accuracy', 'Precision', 'Recall', 'F1_score', 'AUC', 'Elo_score', '%β†— over XGBoost']].mean().reset_index()
454
  gr.Markdown("## πŸ† Overview of the Leaderboard *(Evaluation on publicly available Enterprise Datasets)*")
455
  gr.Markdown(' ')
456
 
457
  with gr.Row():
458
  metric_selector = gr.Dropdown(
459
+ choices=["Accuracy", "Precision", "Recall", "F1_score", "AUC", "Elo_score", "%β†— over XGBoost"],
460
  value="Accuracy",
461
  label="πŸ“Š Metric to display",
462
  elem_classes=["compact-dropdown"]
 
543
  gr.Markdown("## πŸ† Overview ")
544
 
545
  # Compute per-model averages from public_per_dataset
546
+ public_model_agg = public_per_dataset.groupby('model')[['Accuracy', 'Precision', 'Recall', 'F1_score', 'AUC', 'Elo_score', '%β†— over XGBoost']].mean().reset_index()
547
  public_model_agg = public_model_agg.round(3)
548
  # Add model_type from model_info.json
549
  with open("model_info.json", "r") as f:
 
551
 
552
  public_model_agg = public_model_agg.merge(model_info[["model_name", "model_type"]], left_on="model", right_on="model_name", how="left").drop(columns=["model_name"])
553
  # Only keep the required columns, with model_type second
554
+ public_model_agg = public_model_agg[['model', 'model_type', 'Accuracy', 'Precision', 'Recall', 'F1_score', 'AUC', 'Elo_score', '%β†— over XGBoost']]
555
  public_model_agg = public_model_agg.sort_values(by=["model"], key=lambda x: x != "NICL")
556
  model_df = gr.DataFrame(
557
  value=highlight_max(public_model_agg),
 
630
  "F1_score",
631
  "AUC",
632
  "Elo_score",
633
+ "%β†— over XGBoost",
634
  ]
635
 
636
  # --- Filtering & aggregation ---
 
650
  # Recompute Elo scores for this filtered subset
651
  filtered = compute_elo_for_subset(filtered, metric="Accuracy")
652
  # Recompute percentage improvement over XGBoost
653
+ filtered = compute_pct_improvement_over_baseline(filtered, baseline_model="xgboost", metric="Accuracy")
654
 
655
  per_model_avg = (
656
  filtered
 
701
  # Recompute Elo scores for this industry subset
702
  domain_per_dataset = compute_elo_for_subset(domain_per_dataset, metric="Accuracy")
703
  # Recompute percentage improvement over XGBoost for this industry subset
704
+ domain_per_dataset = compute_pct_improvement_over_baseline(domain_per_dataset, baseline_model="xgboost", metric="Accuracy")
705
 
706
  model_agg = (
707
  domain_per_dataset
708
+ .groupby('model')[['Accuracy', 'Precision', 'Recall', 'F1_score', 'AUC', 'Elo_score', '%β†— over XGBoost']]
709
  .mean()
710
  .round(3)
711
  .reset_index()
 
762
  "F1_score",
763
  "AUC",
764
  "Elo_score",
765
+ "%β†— over XGBoost",
766
  ]
767
 
768
  # Available datasets
utils.py CHANGED
@@ -10,7 +10,7 @@ import scipy
10
 
11
  def compute_pct_improvement_over_baseline(
12
  df: pd.DataFrame,
13
- baseline_model: str = "xgboost_ensemble",
14
  metric: str = "Accuracy"
15
  ) -> pd.DataFrame:
16
  """
@@ -45,7 +45,7 @@ def compute_pct_improvement_over_baseline(
45
  return None
46
  return ((row[metric] - baseline) / baseline) * 100
47
 
48
- df["Pct_Improvement_over_XGBoost"] = df.apply(calc_pct_improvement, axis=1)
49
 
50
  return df
51
 
 
10
 
11
  def compute_pct_improvement_over_baseline(
12
  df: pd.DataFrame,
13
+ baseline_model: str = "xgboost",
14
  metric: str = "Accuracy"
15
  ) -> pd.DataFrame:
16
  """
 
45
  return None
46
  return ((row[metric] - baseline) / baseline) * 100
47
 
48
+ df["%β†— over XGBoost"] = df.apply(calc_pct_improvement, axis=1)
49
 
50
  return df
51