|
from flask import Flask, render_template |
|
import pandas as pd |
|
import utils |
|
|
|
app = Flask(__name__) |
|
|
|
|
|
@app.route('/') |
|
def index(): |
|
|
|
df = pd.read_csv('static/leaderboard.csv') |
|
|
|
df = df.round(3) |
|
df.insert(0, '#', '') |
|
|
|
|
|
up_arrow, down_arrow = "↑", "↓" |
|
|
|
|
|
df = df.rename(columns={ |
|
"Ordinal (Win rate)": f"Ordinal - Win rate ({up_arrow})", |
|
"Cardinal (Score)": f"Cardinal - Score ({up_arrow})", |
|
"RO Stability": f"RO Stability ({up_arrow})", |
|
"Stress": f"Stress ({down_arrow})", |
|
"Rank Distance": f"Rank Distance ({down_arrow})", |
|
"Separability": f"Separability ({up_arrow})", |
|
"CFI": f"CFI ({up_arrow})", |
|
"SRMR": f"SRMR ({down_arrow})", |
|
"RMSEA": f"RMSEA ({down_arrow})", |
|
"Cronbach alpha": f"Cronbach alpha ({up_arrow})" |
|
}) |
|
|
|
|
|
|
|
main_table_metrics = [ |
|
"#", |
|
"Model", |
|
f"Ordinal - Win rate ({up_arrow})", |
|
f"Cardinal - Score ({up_arrow})", |
|
f"RO Stability ({up_arrow})" |
|
] |
|
|
|
main_df = df[main_table_metrics].copy() |
|
main_table_html = utils.df_to_table_html(main_df, additional_class="main-table") |
|
full_table_html = utils.df_to_table_html(df, additional_class="full-table") |
|
|
|
|
|
return render_template('index.html', main_table_html=main_table_html, full_table_html=full_table_html) |
|
|
|
@app.route('/model/<model_name>') |
|
def model_detail(model_name): |
|
return render_template('model_detail.html', model_name=model_name) |
|
|
|
@app.route('/about') |
|
def about(): |
|
return render_template('about.html') |
|
|
|
if __name__ == '__main__': |
|
app.run(host='0.0.0.0', port=7860, debug=True) |
|
|