← Lesson
Calibration
Joeven
Run
Reset
Python loads on first run
# predicted chances vs true labels rows = [ (0.92, 1), (0.91, 0), (0.88, 1), (0.87, 0), (0.85, 1), (0.40, 0), (0.35, 0), (0.30, 1), (0.20, 0), (0.10, 0), ] def bin_mean(lo, hi): picked = [(p, y) for p, y in rows if lo <= p < hi] if not picked: return 0, 0.0, 0.0 mean_p = sum(p for p, _ in picked) / len(picked) mean_y = sum(y for _, y in picked) / len(picked) return len(picked), mean_p, mean_y for lo, hi in [(0.0, 0.5), (0.5, 1.01)]: n, mean_p, mean_y = bin_mean(lo, hi) print("bin", lo, "-", hi, "n", n, "mean score", round(mean_p, 2), "true rate", round(mean_y, 2))
Run to execute this in your browser. Nothing is sent to a server.