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 |
— | Исходная таблица событий. |
target_col |
— | Колонка с бинарным таргетом. |
event_datetime |
— | Datetime-колонка, задающая временной порядок событий. |
id_col |
None |
Колонка с идентификатором события. |
cat_features |
None |
Колонки, которые нужно обрабатывать как категориальные. Если параметр не задан, категориальные колонки определяются по типам данных. |
baseline_features |
None |
Существующие числовые признаки. Учитываются при корреляционном отборе, чтобы новые признаки не дублировали их. |
max_filter_conditions |
1 |
Максимальное число условий фильтрации в одной формуле. |
max_categorical_concat_columns |
2 |
Максимальное число категориальных колонок, объединяемых в одну комбинацию. |
min_category_fraction |
0.01 |
Минимальная доля категории, необходимая для участия в генерации признаков. |
selection |
None |
Декларативная политика отбора. None включает SelectionConfig.auc(); также доступны Pearson, Kendall, Spearman, Information Value и Mutual Information. Подробнее: SelectionConfig. |
sampling_key_col |
None |
Ключ бизнес-объекта для формирования подвыборки целыми группами строк. |
max_sampling_groups |
None |
Максимальное число полных sampling-групп для отбора признаков. |
formulas |
"basic" |
Формулы для генерации: быстрый набор "basic", дополнительный "advanced", объединяющий их "all" или явная последовательность классов формул. Расширение набора может повысить качество ценой времени расчёта. |
generate_report |
True |
Формировать HTML-отчёт и воспроизводимый Python-код. Если False, отчёт не создаётся, а open_browser игнорируется. |
open_browser |
True |
Открывать сформированный HTML-отчёт в браузере. |
verbose |
"info" |
Уровень журналирования: "off", "warning", "info" или "debug". |
Список формул
| Формула | Набор | Для каких колонок | Что считает |
|---|---|---|---|
CountWindow |
basic | идентификаторы событий | Количество предыдущих событий с тем же идентификатором в окне 90 дней. |
NuniqueWindow |
basic | пары identifier + value |
Количество уникальных значений value среди предыдущих событий с тем же identifier в окне 90 дней. |
DaysSinceLast |
advanced | идентификаторы событий | Число дней с предыдущего события с тем же идентификатором. |
formulas="all" объединяет basic и advanced. Для точного контроля можно
передать классы напрямую: formulas=(CountWindow, DaysSinceLast).