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

one_to_all_pipeline

featminer.pipelines.one_to_all.one_to_all_pipeline

one_to_all_pipeline(
    *,
    df: DataFrame,
    target_col: str,
    event_datetime: str,
    id_col: str | None = None,
    cat_features: Collection[str] | None = None,
    baseline_features: DataFrame | None = None,
    max_filter_conditions: int = 1,
    max_categorical_concat_columns: int = 2,
    min_category_fraction: float = 0.01,
    selection: SelectionConfig | None = None,
    sampling_key_col: str | None = None,
    max_sampling_groups: int | None = None,
    formulas: FormulaSet
    | Sequence[OneToAllFormulaClass] = "basic",
    generate_report: bool = True,
    open_browser: bool = True,
    verbose: Literal[
        "off", "warning", "info", "debug"
    ] = "info",
) -> pd.DataFrame

Генерирует и отбирает признаки для каждого события, используя события, произошедшие до него.

Параметры

Параметр Описание
df Исходная таблица событий. Тип: pd.DataFrameПо умолчанию: Обязательный
target_col Колонка с бинарным таргетом. Тип: strПо умолчанию: Обязательный
event_datetime Datetime-колонка, задающая временной порядок событий. Тип: strПо умолчанию: Обязательный
id_col Колонка с идентификатором события. Тип: str | NoneПо умолчанию: None
cat_features Колонки, которые нужно обрабатывать как категориальные. Если параметр не задан, категориальные колонки определяются по типам данных. Тип: Collection[str] | NoneПо умолчанию: None
baseline_features Существующие числовые признаки. Учитываются при корреляционном отборе, чтобы новые признаки не дублировали их. Тип: pd.DataFrame | NoneПо умолчанию: None
max_filter_conditions Максимальное число условий фильтрации в одной формуле. Тип: intПо умолчанию: 1
max_categorical_concat_columns Максимальное число категориальных колонок, объединяемых в одну комбинацию. Тип: intПо умолчанию: 2
min_category_fraction Минимальная доля категории, необходимая для участия в генерации признаков. Тип: floatПо умолчанию: 0.01
selection Декларативная политика отбора. None включает SelectionConfig.auc_with_mi_fallback(); прежний отбор доступен через SelectionConfig.auc(). Подробнее: SelectionConfig. Тип: SelectionConfig | NoneПо умолчанию: None
sampling_key_col Ключ бизнес-объекта для формирования подвыборки целыми группами строк. Тип: str | NoneПо умолчанию: None
max_sampling_groups Максимальное число полных sampling-групп для отбора признаков. Тип: int | NoneПо умолчанию: None
formulas Формулы для генерации: быстрый набор "basic", дополнительный "advanced", объединяющий их "all" или явная последовательность классов формул. Расширение набора может повысить качество ценой времени расчёта. Тип: FormulaSet | Sequence[OneToAllFormulaClass]По умолчанию: "basic"
generate_report Формировать HTML-отчёт и воспроизводимый Python-код. Если False, отчёт не создаётся, а open_browser игнорируется. Тип: boolПо умолчанию: True
open_browser Открывать сформированный HTML-отчёт в браузере. Тип: boolПо умолчанию: True
verbose Уровень журналирования: "off", "warning", "info" или "debug". Тип: Literal['off', 'warning', 'info', 'debug']По умолчанию: "info"

Список формул

Формула Набор Для каких колонок Что считает
CountWindow basic идентификаторы событий Количество предыдущих событий с тем же идентификатором в окне 90 дней.
NuniqueWindow basic пары identifier + value Количество уникальных значений value среди предыдущих событий с тем же identifier в окне 90 дней.
DaysSinceLast advanced идентификаторы событий Число дней с предыдущего события с тем же идентификатором.

formulas="all" объединяет basic и advanced. Для точного контроля можно передать классы напрямую: formulas=(CountWindow, DaysSinceLast).