Перейти к содержанию

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.25
result = df.groupby("client_id")["amount"].quantile(q)

Параметры

Параметр Описание
q Уровень квантиля от 0 до 1 включительно. Обязательный.
Стандартные значения 0.01, 0.05, 0.10, 0.25, 0.50, 0.75, 0.90, 0.95, 0.99.

Обязательные параметры не имеют значения по умолчанию; стандартные значения используются в готовых наборах.

Каталог формул.