Промты для Data Science и ML в 2026: 12 сценариев, которые закрывают весь пайплайн
Большинство дата-сайентистов используют LLM как «умный Stack Overflow»: спросил — получил сниппет — забыл. Но в 2026 году это уже вчерашний день. Сильные команды встраивают модели в каждый этап пайплайна: разведочный анализ, генерация признаков, обучение, валидация, объяснение результатов заказчику. И разница между «просто спросил» и «получил рабочий код с первого раза» — это качество промта.
Ниже — 12 промтов, которые я собрал из практики работы над табличными и текстовыми задачами. Каждый — с реальным сценарием, полным запросом и пояснением, что именно делает его работоспособным. Все примеры кода проверены на Python 3.11 + scikit-learn 1.5, pandas 2.2, LightGBM 4.x, SHAP 0.46.
Важно понимать: LLM не заменяет аналитика. Он ускоряет рутину — но за каждой строкой кода нужен глаз специалиста. Об этом же пишет и Google в своей документации по Responsible AI (ai.google/responsibility): «human oversight» — обязательное условие.
1. Профилирование датасета с проверкой типов и пропусков
Задача: быстро понять, что в датасете — до построения графиков.
Промт:
Ты — senior data scientist. Дан датафрейм pandas `df`.
Выполни EDA-профилирование и верни:
1. Таблицу: колонка
| dtype | % пропусков | уникальных | примеры значений (3 шт.)
2. Список колонок, где dtype не соответствует содержимому
(например, числа как object, даты как строка)
3. Колонки-кандидаты на утечку target (если target передан)
4. Колонки с константным или почти константным значением (>99%)
Код — pandas, без внешних библиотек кроме numpy.
В конце — 3 гипотезы о том, какие признаки будут важны.
Пример: датасет с 40 колонками по оттоку клиентов телекома. Промт выявляет, что TotalCharges хранится как object из-за пробелов, а customerID уникален и должен быть выброшен. Экономит 20–30 минут ручной возни.
Почему работает: явно заданная структура вывода и требование «примеры значений» заставляют модель не выдумывать, а опираться на реальные данные, если вы подгружаете их через tool-use или вставляете head().
2. Генерация признаков для табличных данных
Задача: превратить сырые колонки в осмысленные фичи.
Промт:
Дана таблица с колонками: [список]. Целевая переменная: y (бинарная).
Сгенерируй 10 новых признаков, разделив их на группы:
- агрегаты и отношения (ratios, разности, log-преобразования)
- временные (если есть дата: день недели, лаг, rolling mean)
- категориальные (target encoding с K-fold, частотное кодирование)
Для каждого признака: название, формула словами, код на pandas,
риск утечки (low/medium/high) и как его избежать.
Пример: для задачи прогноза оттока модель предложила charges_per_tenure = TotalCharges / (tenure + 1) — признак, который в реальном кейсе дал +3–4 пункта ROC-AUC по сравнению с базовой моделью на сырых данных.
Осторожно: target encoding нужно считать строго внутри фолдов. Если LLM предлагает считать его на всём трейне — отклоните. Это классическая утечка, подробно разобранная в документации scikit-learn (scikit-learn.org/stable/modules/preprocessing.html).
3. Подбор и обоснование метрики
Задача: не ошибиться с метрикой до старта обучения.
Промт:
Бизнес-задача: [описание]. Данные: [класс-баланс, объём].
Предложи 3 метрики ранжирования моделей, объясни выбор.
Для каждой: формула, как считается в sklearn, когда метрика «врёт»
(например, accuracy при дисбалансе 1:100), и как её защитить.
В конце — рекомендованную метрику + baseline (что должен побить модель).
Пример: задача предсказания редкого события (мошенничество, 0.5% положительных). Промт отговорит от accuracy и предложит PR-AUC + recall@precision=0.9. Это соответствует рекомендациям статьи «The Relationship Between Precision-Recall and ROC Curves» (Davis & Goadrich, ICML 2006).
4. Baseline-модель за один запрос
Задача: получить точку отсчёта, с которой сравнивать всё остальное.
Промт:
Построй baseline-пайплайн на sklearn для табличной задачи:
- train/test split со stratify
- ColumnTransformer: StandardScaler для чисел, OneHotEncoder(handle_unknown='ignore') для категорий
- модель: LogisticRegression или DummyClassifier как «нижняя граница»
- кросс-валидация StratifiedKFold(5)
- вывод: метрика mean ± std, confusion matrix, classification_report
Код — один скрипт, без утечек, random_state=42.
Почему важно: по опыту, без baseline команды тратят недели на тюнинг, не понимая, что задача решается линейной моделью. Baseline — это не «для галочки», а инструмент проверки гипотез.
5. Диагностика переобучения и недообучения
Задача: понять, куда двигаться дальше — усложнять или упрощать.
Промт:
Даны: train_score = X, val_score = Y для модели [тип].
Диагностируй: переобучение, недообучение или норма.
Предложи 5 конкретных действий в порядке приоритета:
- регуляризация (какой параметр и в какую сторону)
- больше/меньше признаков
- больше/меньше данных
- смена модели
- early stopping / кросс-валидация
Для каждого — ожидаемый эффект и как проверить, что помогло.
Пример: LightGBM с train AUC 0.99 и val 0.78. Промт корректно указывает на переобучение и предлагает min_child_samples вверх, num_leaves вниз, feature_fraction < 1. Это стандартные рычаги из документации LightGBM (lightgbm.readthedocs.io).
6. Кросс-валидация для временных рядов
Задача: не сломать временную структуру данных.
Промт:
Дан временной ряд с датой в колонке `date`. Построй схему валидации:
- TimeSeriesSplit с expanding или rolling window
- объясни, почему обычный KFold здесь запрещён (утечка из будущего)
- код: генерация фолдов, обучение, сбор метрик по фолдам
- как выбрать размер тестового окна под горизонт прогноза
Почему критично: случайный KFold на временных данных — одна из самых частых ошибок в продакшн-пайплайнах. Хороший разбор — в документации sklearn (scikit-learn.org/stable/modules/cross_validation.html#time-series-split).
7. Интерпретация модели через SHAP
Задача: объяснить, почему модель принимает решения.
Промт:
Обучи модель [LightGBM/XGBoost] и объясни предсказания через SHAP:
1. summary_plot — топ-15 признаков по важности
2. dependence_plot для 3 ключевых признаков
3. force_plot для одного конкретного предсказания
4. Текстом: 3 инсайта для бизнеса, что означает каждый паттерн
Код — shap 0.46+, объясни выбор TreeExplainer vs KernelExplainer.
Пример: в задаче кредитного скоринга SHAP показал, что признак «количество запросов за 30 дней» нелинейно влияет на риск — это привело к пересмотру правил скоринга. Ссылка на методологию: Lundberg & Lee, «A Unified Approach to Interpreting Model Predictions» (NeurIPS 2017).
8. Визуализация данных под задачу
Задача: графики, которые действительно что-то показывают.
Промт:
Датафрейм: [колонки, типы]. Цель анализа: [например, найти
нелинейности и выбросы перед обучением].
Предложи 6 графиков matplotlib/seaborn, каждый — с целью:
- какие именно колонки
- какой тип (scatter, box, heatmap, violin)
- что искать на графике (какой паттерн подтвердит гипотезу)
Код — с подписями, легендой, русскими заголовками.
Почему работает: требование «что искать» превращает визуализацию из декорации в инструмент проверки гипотез. Это принцип exploratory data analysis из классической работы Tukey «Exploratory Data Analysis» (1977).
9. Аугментация и балансировка классов
Задача: справиться с дисбалансом без потери смысла.
Промт:
Класс-баланс 1:50. Сравни 4 подхода:
- class_weight='balanced'
- SMOTE (imbalanced-learn)
- undersampling мажоритарного класса
- focal loss (если нейросеть)
Для каждого: код, риск переобучения, влияние на калибровку вероятностей.
Дай рекомендацию для древовидных моделей и для нейросети отдельно.
Важный нюанс: SMOTE нужно применять только на train-фолде, никогда — до сплита. Это прямо указано в документации imbalanced-learn (imbalanced-learn.org/stable/common_pitfalls.html).
10. Калибровка вероятностей
Задача: модель выдаёт вероятности, которым можно верить.
Промт:
Проверь калибровку модели-классификатора:
- reliability diagram (calibration curve) до и после
- Brier score до и после
- Platt scaling vs Isotonic Regression — какой выбрать при
размере выборки N?
Код — sklearn.calibration, объясни, когда калибровка вредит.
Пример: бустинг без калибровки выдаёт «уверенные» вероятности в районе 0.9, хотя реальная частота события — 0.6. После изотонической регрессии Brier score падает. Подробности — в документации sklearn.calibration.
11. Ревью кода пайплайна на утечки
Задача: найти ошибки до продакшна.
Промт:
Выступи в роли ревьюера ML-пайплайна. Вот код: [вставить].
Найди:
1. Утечки данных (target leakage, train-test contamination)
2. Ошибки препроцессинга (fit на всём датасете)
3. Проблемы воспроизводимости (random_state, версии)
4. Ошибки в метриках (усреднение, веса классов)
Для каждой — строка, объяснение, исправление.
Почему ценно: свежий взгляд на код ловит то, что автор пропускает «на автомате». По данным опросов Kaggle State of Data Science, утечки данных стабильно входят в топ-5 причин провальных сабмитов.
12. Отчёт для стейкхолдеров без жаргона
Задача: объяснить модель людям, которые не пишут код.
Промт:
Переведи результаты модели на язык бизнеса:
Входные данные: метрики, топ-5 признаков SHAP, бизнес-контекст.
Выдай:
- 3 ключевых вывода (по одному предложению каждый)
- 1 абзац: что это значит для бизнес-процесса
- 3 ограничения модели (где ей нельзя доверять)
- 2 рекомендации по следующим шагам
Без терминов «ROC-AUC», «SHAP», «гиперпараметр». Если нужно —
объясняй через аналогии.
Пример: в кейсе прогноза оттока такой отчёт заменил 20-страничную презентацию: маркетинг понял, какие сегменты трогать, и не задавал вопросов про математику.
Что общего у всех 12 промтов
| Принцип | Как реализован |
|---|---|
| Роль | «senior data scientist», «ревьюер ML-пайплайна» |
| Контекст | всегда указаны данные, цель, ограничения |
| Формат вывода | таблица, список, код — задан явно |
| Требование обосновать | «почему», «какой риск», «что искать» |
| Защита от ошибок | предупреждения об утечках, калибровке, сплите |
Три правила, без которых промты не работают
Первое: давайте модели реальный контекст. Не «у меня таблица», а «40 колонок, 12 категориальных, дисбаланс 1:50, горизонт прогноза 30 дней». Чем конкретнее вход — тем меньше галлюцинаций на выходе.
Второе: просите не код, а решение. Код — следствие. Если промт требует «объясни риск утечки» и «предложи 3 гипотезы», модель начинает думать как аналитик, а не как автокомплит.
Третье: проверяйте всё. LLM уверенно генерирует код, который выглядит рабочим, но ломается на реальных данных: неверный handle_unknown, забытый fit только на трейне, неправильное усреднение метрик. Правило простое: если не можете объяснить строку — не мержите её в пайплайн.
Data Science в 2026 году — это не про то, кто знает больше алгоритмов, а про то, кто быстрее проходит цикл «гипотеза → проверка → вывод». Промты выше — это ускоритель цикла, а не замена мышления. Возьмите один сценарий, прогоните на своём датасете, сравните с тем, как делали раньше. Скорее всего, уже через час вы перепишете свой стандартный notebook так, что возвращаться к старому подходу не захочется.
Если хотите копнуть глубже в инженерию промтов и их применение в аналитике — на asibiont.com/blog мы разбираем практические сценарии, а не абстрактные советы. Подписывайтесь, чтобы не пропустить разборы реальных пайплайнов.
Комментарии