Spaces:
Sleeping
Sleeping
import pandas as pd | |
import numpy as np | |
import plotly.express as px | |
import plotly.figure_factory as ff | |
def results_to_df(results: dict, metric_name: str): | |
metric_scores = [] | |
for topic, results_dict in results.items(): | |
for metric_name_cur, metric_value in results_dict.items(): | |
if metric_name == metric_name_cur: | |
metric_scores.append(metric_value) | |
return pd.DataFrame({metric_name: metric_scores}) | |
def create_boxplot_1df(results: dict, metric_name: str): | |
df = results_to_df(results, metric_name) | |
fig = px.box(df, y=metric_name) | |
return fig | |
def create_boxplot_2df(results1, results2, metric_name): | |
df1 = results_to_df(results1, metric_name) | |
df2 = results_to_df(results2, metric_name) | |
df2["Run"] = "Run 2" | |
df1["Run"] = "Run 1" | |
df = pd.concat([df1, df2]) | |
# Create distplot with custom bin_size | |
fig = px.histogram(df, x=metric_name, color="Run", marginal="box", hover_data=df.columns) | |
return fig | |
def create_boxplot_diff(results1, results2, metric_name): | |
df1 = results_to_df(results1, metric_name) | |
df2 = results_to_df(results2, metric_name) | |
diff = df1[metric_name] - df2[metric_name] | |
x_axis = f"Difference in {metric_name} from 1 to 2" | |
fig = px.histogram(pd.DataFrame({x_axis: diff}), x=x_axis, marginal="box") | |
return fig |