rosacastillo commited on
Commit
2fecb4f
·
1 Parent(s): c536c53

weighted accuracy between 0 and 1. Cleaning

Browse files
app.py CHANGED
@@ -19,6 +19,12 @@ from tabs.tool_win import (
19
  plot_tool_winnings_overall,
20
  plot_tool_winnings_by_tool,
21
  )
 
 
 
 
 
 
22
  from tabs.error import (
23
  get_error_data,
24
  get_error_data_overall,
@@ -112,19 +118,6 @@ def get_all_data():
112
  return df1, df2, df3
113
 
114
 
115
- def get_weighted_accuracy(row, global_requests: int):
116
- """Function to compute the weighted accuracy of a tool"""
117
- return row["tool_accuracy"] * (row["total_requests"] / global_requests)
118
-
119
-
120
- def compute_weighted_accuracy(tools_accuracy: pd.DataFrame):
121
- global_requests = tools_accuracy.total_requests.sum()
122
- tools_accuracy["weighted_accuracy"] = tools_accuracy.apply(
123
- lambda x: get_weighted_accuracy(x, global_requests), axis=1
124
- )
125
- return tools_accuracy
126
-
127
-
128
  def prepare_data():
129
  """
130
  Prepare the data for the dashboard
@@ -267,47 +260,22 @@ with demo:
267
  with gr.TabItem("🎯 Tool Accuracy Dashboard"):
268
  with gr.Row():
269
  gr.Markdown("# Tools accuracy ranking")
270
- gr.Markdown("")
271
  gr.Markdown(
272
  "The data used for this metric is from the past two months. This accuracy is computed based on right answers from the total requests received."
273
  )
274
 
275
  with gr.Row():
276
- tools_accuracy_info = tools_accuracy_info.sort_values(
277
- by="tool_accuracy", ascending=False
278
- )
279
- plt.figure(figsize=(25, 10))
280
- plot = sns.barplot(
281
- tools_accuracy_info,
282
- x="tool_accuracy",
283
- y="tool",
284
- hue="tool",
285
- dodge=False,
286
- palette="viridis",
287
- )
288
- gr.Plot(value=plot.get_figure())
289
  with gr.Row():
290
  gr.Markdown("# Weighted accuracy ranking per tool")
291
- gr.Markdown("")
292
  gr.Markdown(
293
  "The data used for this metric is from the past two months. This metric is computed using both the tool accuracy and the volume of requests received by the tool"
294
  )
295
  with gr.Row():
296
- tools_accuracy_info = tools_accuracy_info.sort_values(
297
- by="weighted_accuracy", ascending=False
298
- )
299
- # Create the Seaborn bar plot
300
- sns.set_theme(palette="viridis")
301
- plt.figure(figsize=(25, 10))
302
- plot = sns.barplot(
303
- tools_accuracy_info,
304
- x="weighted_accuracy",
305
- y="tool",
306
- hue="tool",
307
- dodge=False,
308
- )
309
- # Display the plot using gr.Plot
310
- gr.Plot(value=plot.get_figure())
311
 
312
  with gr.TabItem("🏥 Tool Error Dashboard"):
313
  with gr.Row():
 
19
  plot_tool_winnings_overall,
20
  plot_tool_winnings_by_tool,
21
  )
22
+
23
+ from tabs.tool_accuracy import (
24
+ compute_weighted_accuracy,
25
+ plot_tools_accuracy_graph,
26
+ plot_tools_weighted_accuracy_graph,
27
+ )
28
  from tabs.error import (
29
  get_error_data,
30
  get_error_data_overall,
 
118
  return df1, df2, df3
119
 
120
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  def prepare_data():
122
  """
123
  Prepare the data for the dashboard
 
260
  with gr.TabItem("🎯 Tool Accuracy Dashboard"):
261
  with gr.Row():
262
  gr.Markdown("# Tools accuracy ranking")
263
+ with gr.Row():
264
  gr.Markdown(
265
  "The data used for this metric is from the past two months. This accuracy is computed based on right answers from the total requests received."
266
  )
267
 
268
  with gr.Row():
269
+ plot_tools_accuracy_graph(tools_accuracy_info)
270
+
 
 
 
 
 
 
 
 
 
 
 
271
  with gr.Row():
272
  gr.Markdown("# Weighted accuracy ranking per tool")
273
+ with gr.Row():
274
  gr.Markdown(
275
  "The data used for this metric is from the past two months. This metric is computed using both the tool accuracy and the volume of requests received by the tool"
276
  )
277
  with gr.Row():
278
+ plot_tools_weighted_accuracy_graph(tools_accuracy_info)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
279
 
280
  with gr.TabItem("🏥 Tool Error Dashboard"):
281
  with gr.Row():
notebooks/weighted_accuracy_ranking.ipynb CHANGED
The diff for this file is too large to render. See raw diff
 
tabs/tool_accuracy.py ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import gradio as gr
3
+ import matplotlib.pyplot as plt
4
+ import seaborn as sns
5
+
6
+
7
+ def get_weighted_accuracy(row, global_requests: int):
8
+ """Function to compute the weighted accuracy of a tool"""
9
+ return (row["tool_accuracy"] / 100.0) * (row["total_requests"] / global_requests)
10
+
11
+
12
+ def compute_weighted_accuracy(tools_accuracy: pd.DataFrame):
13
+ global_requests = tools_accuracy.total_requests.sum()
14
+ tools_accuracy["weighted_accuracy"] = tools_accuracy.apply(
15
+ lambda x: get_weighted_accuracy(x, global_requests), axis=1
16
+ )
17
+ return tools_accuracy
18
+
19
+
20
+ def plot_tools_accuracy_graph(tools_accuracy_info: pd.DataFrame):
21
+ tools_accuracy_info = tools_accuracy_info.sort_values(
22
+ by="tool_accuracy", ascending=False
23
+ )
24
+ plt.figure(figsize=(25, 10))
25
+ plot = sns.barplot(
26
+ tools_accuracy_info,
27
+ x="tool_accuracy",
28
+ y="tool",
29
+ hue="tool",
30
+ dodge=False,
31
+ palette="viridis",
32
+ )
33
+ return gr.Plot(value=plot.get_figure())
34
+
35
+
36
+ def plot_tools_weighted_accuracy_graph(tools_accuracy_info: pd.DataFrame):
37
+ tools_accuracy_info = tools_accuracy_info.sort_values(
38
+ by="weighted_accuracy", ascending=False
39
+ )
40
+ # Create the Seaborn bar plot
41
+ sns.set_theme(palette="viridis")
42
+ plt.figure(figsize=(25, 10))
43
+ plot = sns.barplot(
44
+ tools_accuracy_info,
45
+ x="weighted_accuracy",
46
+ y="tool",
47
+ hue="tool",
48
+ dodge=False,
49
+ )
50
+ # Display the plot using gr.Plot
51
+ gr.Plot(value=plot.get_figure())