|
|
import gradio as gr |
|
|
import numpy as np |
|
|
import pandas as pd |
|
|
import seaborn as sns |
|
|
|
|
|
cm = sns.light_palette("green", as_cmap=True) |
|
|
|
|
|
data = pd.read_csv("all_res.csv") |
|
|
data["coherence"] = np.sqrt(data["c_in"] * data["c_ex"]) |
|
|
data["interpretability"] = np.sqrt(data["coherence"] * data["diversity"]) |
|
|
data["v_measure"] = ( |
|
|
2 |
|
|
* data["homogeneity_score"] |
|
|
* data["completeness_score"] |
|
|
/ (data["homogeneity_score"] + data["completeness_score"]) |
|
|
) |
|
|
|
|
|
metrics = [ |
|
|
"interpretability", |
|
|
"coherence", |
|
|
"diversity", |
|
|
"fowlkes_mallows_score", |
|
|
"adjusted_mutual_info_score", |
|
|
"v_measure", |
|
|
] |
|
|
summary = data.groupby("task")[metrics].rank(pct=True) |
|
|
summary["model"] = data["model"] |
|
|
summary = ( |
|
|
summary.groupby("model").mean().sort_values("interpretability", ascending=False) |
|
|
) |
|
|
|
|
|
summary = summary.reset_index() |
|
|
summary.columns = [ |
|
|
"Model", |
|
|
"Interpretability", |
|
|
"Coherence", |
|
|
"Diversity", |
|
|
"FMI", |
|
|
"AMI", |
|
|
"V-score", |
|
|
] |
|
|
styler = summary.style.format(precision=2).background_gradient(cmap="Greens") |
|
|
|
|
|
with gr.Blocks() as demo: |
|
|
table = gr.DataFrame(styler, show_search="filter", pinned_columns=1) |
|
|
demo.launch( |
|
|
theme=gr.themes.Base(font=[gr.themes.GoogleFont("Ubuntu"), "Arial", "sans-serif"]), |
|
|
) |
|
|
|