План генерации кандидатных признаков по типам преобразований
Промпт помогает системно спроектировать новые признаки для конкретного датасета и модели, разделяя их по категориям преобразований. Он требует практичные шаблоны построения, приоритеты, риски и стратегию валидации без лишней теории.
Соблюдай все обязательные требования ниже. Верни только итоговый результат в требуемом формате. Не добавляй вступления, комментарии о процессе, предупреждения, альтернативные версии или просьбы что-либо уточнить. Если часть входных данных отсутствует и исходный промпт допускает рабочие предположения, явно фиксируй их только там, где это прямо требуется. Сохраняй placeholders, JSON, YAML, SQL, код, формулы, названия метрик, пороги, порядок разделов и другие обязательные технические элементы без искажений.
Ниже приведён исходный замысел и обязательные ограничения. Сохрани смысл, полноту и прикладную ценность, но сделай ответ максимально однозначным, компактным и готовым к использованию с первой попытки.
Вы — специалист по созданию признаков. Задача: систематически сгенерировать кандидатные признаки для датасета, описанного как "{dataset_description}", с целью предсказания целевой переменной "{target_variable}". Входные данные: список имеющихся признаков {existing_features} и тип модели {model_type}.
Требуется составить всесторонний, воспроизводимый план генерации признаков, организованный по типам преобразований, включающий как предметно-специфичные, так и предметно-независимые шаблоны. План должен быть готов к исполнению инженером данных или ML‑инженером без дополнительных уточнений.
Требуемый формат вывода (строго соблюдайте пункты):
1) Краткая сводка (1–3 предложения): ключевые предположения о данных (числовые/категориальные/временные/тексты), ограничения (размер, разреженность) и цели оптимизации под {model_type} (точность, стабильность, скорость).
2) Глобальные рекомендации (коротко):
- как обрабатывать пропуски и выбросы для последующей генерации признаков;
- правила масштабирования/нормализации в зависимости от {model_type};
- рекомендуемая стратегия валидации (например, time‑aware, grouped CV) и почему.
3) По каждому типу преобразований — отдельный раздел с обязательными подпунктами:
a) Название категории (например, "Агрегации по группам").
b) Краткое описание и когда уместна (1–2 предложения).
c) Конкретные candidate-признаки: для каждого приведите
- формулу/описание в терминах существующих признаков (используйте {existing_features} как шаблон, например: "avg(transaction_amount) по user_id", "ratio = feature_A / (feature_B + 1e-6)"),
- указание на формат результата (числовой/категориальный/бинарный),
- пример имени признака (например: "user_avg_txn_amount_30d").
d) Обоснование релевантности для {model_type} (как этот тип признаков улучшит модель: нелинейность, взаимодействие, стабилизация оценок и т.п.).
e) Практические замечания по реализации: обработка пропусков/деления на ноль, накладные расходы при вычислении, влияние на память/время, рекомендации по приоритизации (высокий/средний/низкий приоритет).
Перечислите и обязательно охватите (минимум — названия и по 3–8 конкретных candidate‑признаков в каждой категории):
- Статистические агрегаты и групповые признаки (count, sum, mean, std, quantiles, unique count, top k);
- Соотношения и разности (ratios, percentage change, absolute/relative differences, rolling diffs);
- Математические преобразования (полиномиальные признаки, взаимодействия, логарифмы, sqrt, reciprocal);
- Дискретизация и бининг (квантильный/равный широте, кастомные бины), категоризация чисел;
- Временные признаки (лаг‑признаки, скользящие окна, сезонность, циклическое кодирование часов/дней) — если применимо к {dataset_description};
- Категориальные стратегии (one‑hot для низкой кардинальности, target‑encoding с регуляризацией, smoothing, leave‑one‑out, frequency encoding, hashing);
- Признаки на базе текстов/номеров (length, n‑grams counts, TF‑IDF, embeddings) — если в данных есть тексты;
- Кластеризация и модели представления (k‑means distances, cluster id, PCA/SVD компоненты, autoencoder latent);
- Частотные/поведенческие паттерны (time-between events, counts per period, recency, tenure);
- Domain‑agnostic шаблоны (one‑hot interactions, crossed features, monotonic binning, target leakage checks).
4) Шаблон генерации признаков на основе {existing_features}:
- Приведите 8–12 конкретных примеров формул/код‑шаблонов, которые можно сразу реализовать (каждый пример в 1–2 строках): используйте имена из {existing_features} или placeholders (feature_X, feature_Y), указывайте тип результата и приоритет.
5) Контроль качества признаков:
- Критерии ранней фильтрации (низкая дисперсия, сильная корреляция с другими признаками, утечка целевой переменной);
- Метрики для оценки кандидатов (feature importance, permutation importance, SHAP stability, CV lift) и порядок применения (быстрые эвристики → подтверждение через CV).
6) Оценка влияния и ограничений:
- Для каждой крупной категории укажите примерное влияние на производительность {model_type} (высокое/среднее/низкое) и примерные вычислительные/памятные затраты (низкие/средние/высокие).
7) Рекомендации по объему и последовательности работ:
- минимум 50–200 candidate‑признаков для начального цикла (указать, если dataset мал — скорректируйте);
- план итераций: генерация → быстрая фильтрация → моделирование → отбор → дополнение;
- советы по автоматизации (pipeline, feature store, параллелизация).
Требования к стилю и деталям:
- Ясный, практический, ориентированный на исполнение.
- Не давайте общий теоретический обзор — отдавайте предпочтение конкретным candidate‑признакам и шаблонам реализации.
- Используйте краткие, пронумерованные списки и стандартизированные имена признаков в примерах.
- Объём: достаточный для реализации инженером, не более 1200 слов.
Не задавайте уточняющих вопросов. Используйте подстановки {dataset_description}, {target_variable}, {existing_features}, {model_type} непосредственно в тексте и в примерах.
ChatGPT, Claude, GigaChat, Алиса ИИ, По нейросетям, Типы промптов, Яндекс GPT