dustalov commited on
Commit
6fd3e87
·
verified ·
1 Parent(s): 832c761

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -7
app.py CHANGED
@@ -42,43 +42,50 @@ def visualize(df_pairwise: pd.DataFrame) -> Figure:
42
 
43
 
44
  def counting(xs: "pd.Series[str]", ys: "pd.Series[str]",
45
- ws: "pd.Series[Winner]") -> tuple["pd.Series[str]", "pd.Index[str]"]: # type: ignore[type-var]
 
 
 
 
 
 
46
  result = evalica.counting(xs, ys, ws)
47
  return result.scores, result.index
48
 
49
 
50
  def bradley_terry(xs: "pd.Series[str]", ys: "pd.Series[str]",
51
- ws: "pd.Series[Winner]") -> tuple["pd.Series[str]", "pd.Index[str]"]: # type: ignore[type-var]
52
  result = evalica.bradley_terry(xs, ys, ws, tolerance=TOLERANCE, limit=LIMIT)
53
  return result.scores, result.index
54
 
55
 
56
  def elo(xs: "pd.Series[str]", ys: "pd.Series[str]",
57
- ws: "pd.Series[Winner]") -> tuple["pd.Series[str]", "pd.Index[str]"]: # type: ignore[type-var]
58
  result = evalica.elo(xs, ys, ws)
59
  return result.scores, result.index
60
 
61
 
62
  def eigen(xs: "pd.Series[str]", ys: "pd.Series[str]",
63
- ws: "pd.Series[Winner]") -> tuple["pd.Series[str]", "pd.Index[str]"]: # type: ignore[type-var]
64
  result = evalica.eigen(xs, ys, ws, tolerance=TOLERANCE, limit=LIMIT)
65
  return result.scores, result.index
66
 
67
 
68
  def pagerank(xs: "pd.Series[str]", ys: "pd.Series[str]",
69
- ws: "pd.Series[Winner]") -> tuple["pd.Series[str]", "pd.Index[str]"]: # type: ignore[type-var]
70
  result = evalica.pagerank(xs, ys, ws, tolerance=TOLERANCE, limit=LIMIT)
71
  return result.scores, result.index
72
 
73
 
74
  def newman(xs: "pd.Series[str]", ys: "pd.Series[str]",
75
- ws: "pd.Series[Winner]") -> tuple["pd.Series[str]", "pd.Index[str]"]: # type: ignore[type-var]
76
  result = evalica.newman(xs, ys, ws, tolerance=TOLERANCE, limit=LIMIT)
77
  return result.scores, result.index
78
 
79
 
80
  ALGORITHMS = {
81
  "Counting": counting,
 
82
  "Bradley-Terry (1952)": bradley_terry,
83
  "Elo (1960)": elo,
84
  "Eigenvector (1987)": eigen,
@@ -132,9 +139,9 @@ def handler(
132
  ws = df_pairs["winner"].map({"left": Winner.X, "right": Winner.Y, "tie": Winner.Draw})
133
 
134
  scores, index = ALGORITHMS[algorithm](xs, ys, ws)
135
- index.name = "item"
136
 
137
  df_result = pd.DataFrame(data={"score": scores}, index=index)
 
138
 
139
  df_result["pairs"] = pd.Series(0, dtype=int, index=index).add(
140
  df_pairs.groupby("left")["left"].count(), fill_value=0,
@@ -204,6 +211,7 @@ def main() -> None:
204
  ["food.csv", "Eigenvector (1987)", False, False],
205
  ["food.csv", "PageRank (1998)", False, False],
206
  ["food.csv", "Newman (2023)", False, False],
 
207
  ["llmfao.csv", "Bradley-Terry (1952)", False, True],
208
  ["llmfao.csv", "Elo (1960)", False, True],
209
  ],
 
42
 
43
 
44
  def counting(xs: "pd.Series[str]", ys: "pd.Series[str]",
45
+ ws: "pd.Series[Winner]") -> tuple["pd.Series[str]", dict[str, int]]: # type: ignore[type-var]
46
+ result = evalica.counting(xs, ys, ws)
47
+ return result.scores, result.index
48
+
49
+
50
+ def average_win_rate(xs: "pd.Series[str]", ys: "pd.Series[str]",
51
+ ws: "pd.Series[Winner]") -> tuple["pd.Series[str]", dict[str, int]]: # type: ignore[type-var]
52
  result = evalica.counting(xs, ys, ws)
53
  return result.scores, result.index
54
 
55
 
56
  def bradley_terry(xs: "pd.Series[str]", ys: "pd.Series[str]",
57
+ ws: "pd.Series[Winner]") -> tuple["pd.Series[str]", dict[str, int]]: # type: ignore[type-var]
58
  result = evalica.bradley_terry(xs, ys, ws, tolerance=TOLERANCE, limit=LIMIT)
59
  return result.scores, result.index
60
 
61
 
62
  def elo(xs: "pd.Series[str]", ys: "pd.Series[str]",
63
+ ws: "pd.Series[Winner]") -> tuple["pd.Series[str]", dict[str, int]]: # type: ignore[type-var]
64
  result = evalica.elo(xs, ys, ws)
65
  return result.scores, result.index
66
 
67
 
68
  def eigen(xs: "pd.Series[str]", ys: "pd.Series[str]",
69
+ ws: "pd.Series[Winner]") -> tuple["pd.Series[str]", dict[str, int]]: # type: ignore[type-var]
70
  result = evalica.eigen(xs, ys, ws, tolerance=TOLERANCE, limit=LIMIT)
71
  return result.scores, result.index
72
 
73
 
74
  def pagerank(xs: "pd.Series[str]", ys: "pd.Series[str]",
75
+ ws: "pd.Series[Winner]") -> tuple["pd.Series[str]", dict[str, int]]: # type: ignore[type-var]
76
  result = evalica.pagerank(xs, ys, ws, tolerance=TOLERANCE, limit=LIMIT)
77
  return result.scores, result.index
78
 
79
 
80
  def newman(xs: "pd.Series[str]", ys: "pd.Series[str]",
81
+ ws: "pd.Series[Winner]") -> tuple["pd.Series[str]", dict[str, int]]: # type: ignore[type-var]
82
  result = evalica.newman(xs, ys, ws, tolerance=TOLERANCE, limit=LIMIT)
83
  return result.scores, result.index
84
 
85
 
86
  ALGORITHMS = {
87
  "Counting": counting,
88
+ "Average Win Rate": average_win_rate,
89
  "Bradley-Terry (1952)": bradley_terry,
90
  "Elo (1960)": elo,
91
  "Eigenvector (1987)": eigen,
 
139
  ws = df_pairs["winner"].map({"left": Winner.X, "right": Winner.Y, "tie": Winner.Draw})
140
 
141
  scores, index = ALGORITHMS[algorithm](xs, ys, ws)
 
142
 
143
  df_result = pd.DataFrame(data={"score": scores}, index=index)
144
+ df_result.index.name = "item"
145
 
146
  df_result["pairs"] = pd.Series(0, dtype=int, index=index).add(
147
  df_pairs.groupby("left")["left"].count(), fill_value=0,
 
211
  ["food.csv", "Eigenvector (1987)", False, False],
212
  ["food.csv", "PageRank (1998)", False, False],
213
  ["food.csv", "Newman (2023)", False, False],
214
+ ["llmfao.csv", "Average Win Rate", False, True],
215
  ["llmfao.csv", "Bradley-Terry (1952)", False, True],
216
  ["llmfao.csv", "Elo (1960)", False, True],
217
  ],