def auc(curve=[]):
    curve = sorted(curve)
    # Trapzoidal rule: area = (a + b) * h / 2, where a=y0, b=y1 and h=x1-x0.
    return sum(0.5 * (x1 - x0) * (y1 + y0) for (x0, y0), (x1, y1) in sorted(zip(curve, curve[1:])))

#### AGREEMENT #####################################################################################
# +1.0 = total agreement between voters
# +0.0 = votes based on random chance
# -1.0 = total disagreement
Parameters:
dataset/ETHPy150Open clips/pattern/pattern/metrics.py/auc--crossover with--dataset/ETHPy150Open CamDavidsonPilon/lifelines/lifelines/fitters/breslow_fleming_harrington_fitter.py/BreslowFlemingHarringtonFitter.fit