Gumball2k5 commited on
Commit
b31ad32
·
verified ·
1 Parent(s): 66d74eb

Create benchmark_utils.py

Browse files
Files changed (1) hide show
  1. src/benchmark_utils.py +43 -0
src/benchmark_utils.py ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import streamlit as st
3
+
4
+ @st.cache_data
5
+ def load_leaderboard(file_path="data/results_df_all_tuned.csv"):
6
+ """
7
+ Tải và xử lý file CSV chứa kết quả leaderboard của các mô hình.
8
+
9
+ Args:
10
+ file_path (str): Đường dẫn đến file CSV leaderboard.
11
+
12
+ Returns:
13
+ pd.DataFrame: DataFrame đã được sắp xếp, sẵn sàng để hiển thị.
14
+ """
15
+ try:
16
+ # Đọc file CSV
17
+ df = pd.read_csv(file_path)
18
+
19
+ # --- Xử lý cơ bản (Quan trọng) ---
20
+ # Checklist yêu cầu sắp xếp theo RMSE.
21
+ # Hãy kiểm tra tên cột RMSE thực tế trong file CSV của bạn.
22
+
23
+ # Cập nhật 'TEN_COT_RMSE' thành tên cột chính xác của bạn
24
+ # (ví dụ: 'Mean_RMSE', 'Test_RMSE', 'RMSE_CV')
25
+ SORT_COLUMN_NAME = 'Mean_RMSE' # <-- THAY ĐỔI TÊN CỘT NÀY NẾU CẦN
26
+
27
+ if SORT_COLUMN_NAME in df.columns:
28
+ # Sắp xếp các mô hình từ tốt nhất (RMSE thấp nhất) đến tệ nhất
29
+ df_sorted = df.sort_values(by=SORT_COLUMN_NAME, ascending=True)
30
+ else:
31
+ # Nếu không tìm thấy cột, trả về DataFrame gốc và cảnh báo
32
+ st.warning(f"Không tìm thấy cột '{SORT_COLUMN_NAME}' để sắp xếp leaderboard. "
33
+ f"Vui lòng kiểm tra file `src/benchmark_utils.py`.")
34
+ df_sorted = df
35
+
36
+ return df_sorted
37
+
38
+ except FileNotFoundError:
39
+ st.error(f"LỖI: Không tìm thấy file leaderboard tại đường dẫn: {file_path}")
40
+ return pd.DataFrame() # Trả về DataFrame rỗng nếu có lỗi
41
+ except Exception as e:
42
+ st.error(f"Lỗi khi tải leaderboard: {e}")
43
+ return pd.DataFrame()