metrics
Binary classification metrics with Polars-native inputs, sample weight support, and period-level breakdowns.
Point-in-time metrics
gini
Source code in datasci_toolkit/metrics.py
ks
lift
Source code in datasci_toolkit/metrics.py
iv
Source code in datasci_toolkit/metrics.py
feature_power
Source code in datasci_toolkit/metrics.py
Bootstrap confidence interval
BootstrapGini
Bases: BaseEstimator
Bootstrap confidence interval for Gini.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
n_iter
|
int
|
Number of bootstrap resamples. |
100
|
ci_level
|
float
|
Confidence level in percent (e.g. 90.0 for 90% CI). |
90.0
|
seed
|
int | None
|
Random seed for reproducibility. |
None
|
Attributes:
| Name | Type | Description |
|---|---|---|
mean_ |
Mean Gini across bootstrap samples. |
|
std_ |
Standard deviation of bootstrap Gini values. |
|
ci_ |
Tuple |
|
samples_ |
Array of all bootstrap Gini values. |
Source code in datasci_toolkit/metrics.py
Period metrics
gini_by_period
gini_by_period(
y: Series,
y_pred: Series,
periods: Series,
*,
mask: Series | None = None,
sample_weight: Series | None = None,
) -> pl.DataFrame
Source code in datasci_toolkit/metrics.py
lift_by_period
lift_by_period(
y: Series,
y_pred: Series,
periods: Series,
*,
perc: float = 10.0,
mask: Series | None = None,
) -> pl.DataFrame
Source code in datasci_toolkit/metrics.py
plot_metric_by_period
plot_metric_by_period(
periods: list,
metric_arrays: list[list[float]],
counts: list[float],
labels: list[str],
*,
title: str = "",
ylabel: str = "Metric",
y_lim: tuple[float, float] | None = None,
size: tuple[int, int] = (10, 5),
output_file: str | None = None,
show: bool = True,
) -> None