Spaces:
Runtime error
Runtime error
File size: 1,140 Bytes
c20a7cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
from pandas import DataFrame
from sklearn.metrics import f1_score, recall_score
from zeno import ZenoOptions, MetricReturn, metric, distill, DistillReturn
@metric
def accuracy(df, ops: ZenoOptions):
if len(df) == 0:
return MetricReturn(metric=0)
return MetricReturn(
metric=100 * (df[ops.label_column] == df[ops.output_column]).sum() / len(df)
)
@metric
def recall(df, ops: ZenoOptions):
rec = recall_score(df[ops.label_column], df[ops.output_column], average="macro")
if type(rec) == float:
return MetricReturn(metric=100 * float(rec))
else:
return MetricReturn(metric=0)
@metric
def f1(df, ops: ZenoOptions):
f = f1_score(df[ops.label_column], df[ops.output_column], average="macro")
if type(f) == float:
return MetricReturn(metric=100 * f)
else:
return MetricReturn(metric=0)
@distill
def incorrect(df: DataFrame, ops: ZenoOptions):
return DistillReturn(distill_output=df[ops.label_column] != df[ops.output_column])
@distill
def output_label(df: DataFrame, ops: ZenoOptions):
return DistillReturn(distill_output=df[ops.output_column])
|