Quantile
Quantile(*, q: float)
Квантиль распределения значений.
Использование
transactions — обучающая таблица событий с бинарным target, одинаковым внутри каждого клиента.
from featminer import one_to_many_pipeline
from featminer.formulas import Quantile
features = one_to_many_pipeline(
df=transactions,
aggregation_key="client_id",
target_col="target",
formulas=(Quantile(q=0.25),),
)
Quantile(q=0.25) задаёт способ расчёта; pipeline подбирает совместимые колонки и условия. features содержит признаки, прошедшие отбор по таргету.
Пример результата
Таблица платежей df: client_id — ключ объекта, amount — сумма платежа. Расчёт без дополнительного условия.
| client_id | amount | |
|---|---|---|
| 0 | 1 | 10 |
| 1 | 1 | 20 |
| 2 | 1 | 20 |
| 3 | 1 | 40 |
| 4 | 1 | NaN |
Значение этого кандидата по клиентам:
| Quantile | |
|---|---|
| client_id | |
| 1 | 17.5 |
Эквивалентный расчёт на pandas
Пропущенные значения не участвуют в расчёте. q — уровень квантиля. Между соседними порядковыми статистиками используется линейная интерполяция.
Параметры
| Параметр | Описание |
|---|---|
q |
Уровень квантиля от 0 до 1 включительно. Обязательный. |
| Стандартные значения | 0.01, 0.05, 0.10, 0.25, 0.50, 0.75, 0.90, 0.95, 0.99. |
Обязательные параметры не имеют значения по умолчанию; стандартные значения используются в готовых наборах.