Python-промты для Data Science: полный цикл ML-проекта от EDA до графиков за вечер

Промты для Data Science: как обучить модель, проанализировать данные и построить визуализации за один вечер

Каждый дата-сайентист знает: 80% времени уходит не на обучение модели, а на подготовку данных, разведочный анализ и визуализацию. Хорошая новость в том, что большую часть рутины можно автоматизировать с помощью правильно составленных промтов для больших языковых моделей (LLM). В этой подборке — 15 проверенных промтов, которые покрывают полный цикл работы с данными: от загрузки и очистки до выбора модели, настройки гиперпараметров и создания понятных графиков. Каждый промт сопровождается примером, ожидаемым результатом и пояснением, для какой задачи он подходит.

Все примеры предполагают, что вы работаете в Jupyter Notebook или Google Colab с установленными библиотеками: pandas, numpy, scikit-learn, matplotlib, seaborn. Если вы новичок, не пугайтесь — каждый промт можно скопировать и вставить в чат с LLM (например, ChatGPT, Claude, DeepSeek), заменив данные на свои. Главное — следовать структуре и не забывать проверять код на корректность.

1. Первичный осмотр датасета

Задача: быстро понять, что в данных, какие типы признаков, есть ли пропуски и выбросы.

Промт:

Ты — опытный дата-сайентист. У меня есть датасет в pandas DataFrame `df`. Напиши код на Python, который:
1. Выводит размер датасета, типы данных и количество пропусков по каждому столбцу.
2. Показывает описательные статистики для числовых признаков.
3. Строит гистограммы распределений для всех числовых признаков (сетка 3x3).
4. Выводит количество уникальных значений для категориальных признаков.
5. Сохраняет отчёт в текстовый файл `data_overview.txt`.
Добавь комментарии к каждой строке кода.

Пример использования: вы загрузили датасет о клиентах телеком-компании. Промт сгенерирует код, который покажет, что в столбце TotalCharges 11 пропусков, а MonthlyCharges имеет выбросы. Вы сразу поймёте, что нужно обработать.

Ожидаемый результат: готовый блок кода для первого знакомства с данными. Экономит 20–30 минут рутинного анализа.

2. Очистка данных и обработка пропусков

Задача: автоматически предложить стратегию обработки пропусков и выбросов.

Промт:

Дан DataFrame `df` с пропусками и выбросами. Предложи оптимальную стратегию:
- Для числовых признаков с нормальным распределением — заполнить медианой.
- Для категориальных — заполнить модой или создать отдельную категорию 'Unknown'.
- Выбросы определить методом IQR и заменить на границы (winsorization).
Напиши функцию `clean_data(df)`, которая возвращает очищенный DataFrame и лог изменений.
Объясни, почему выбрана та или иная стратегия.

Пример: в датасете о недвижимости признак price имеет выбросы в 10 раз выше среднего. Функция заменит их на 95-й перцентиль, чтобы модель не смещалась.

Совет: всегда проверяйте, не потеряли ли вы важную информацию при заполнении. Иногда пропуск сам по себе является признаком (например, «нет данных о доходе» может коррелировать с отказом от кредита).

3. Разведочный анализ данных (EDA) с автоматическими выводами

Задача: получить текстовое резюме о закономерностях в данных.

Промт:

Проведи разведочный анализ данных для DataFrame `df` (целевая переменная — `target`).
1. Рассчитай корреляции Пирсона и Спирмена для числовых признаков.
2. Построй тепловую карту корреляций.
3. Для категориальных признаков построй boxplot-ы относительно целевой переменной.
4. Сформулируй 5 ключевых инсайтов на русском языке: какие признаки наиболее важны, есть ли мультиколлинеарность, какие категории сильнее всего влияют на цель.
Выведи инсайты в формате маркированного списка.

Пример: для задачи предсказания оттока клиентов промт покажет, что Contract_Monthly и Tenure — самые сильные предикторы, а Gender не влияет.

Ожидаемый результат: вы получаете не только графики, но и готовые формулировки для отчёта.

4. Кодирование категориальных признаков

Задача: выбрать между One-Hot, Label Encoding и Target Encoding.

Промт:

У меня есть категориальные признаки с разной кардинальностью:
- `city` (50 уникальных значений)
- `gender` (2 значения)
- `product_category` (200 значений)
Предложи оптимальный метод кодирования для каждого и напиши код с использованием `sklearn.preprocessing` и `category_encoders`.
Учти, что модель — градиентный бустинг (CatBoost или LightGBM).
Объясни, почему для высококардинальных признаков лучше использовать Target Encoding с кросс-валидацией.

Пример: для product_category с 200 значениями One-Hot создаст 200 столбцов — это увеличит размерность. Target Encoding заменит категории на среднее целевой переменной, что эффективнее.

Важно: Target Encoding требует осторожности, чтобы избежать утечки данных. Используйте KFold для расчёта статистик.

5. Отбор признаков

Задача: уменьшить размерность и убрать шум.

Промт:

Напиши код для отбора признаков тремя методами:
1. SelectKBest с mutual_info_classif (для классификации).
2. Recursive Feature Elimination (RFE) с логистической регрессией.
3. Важность признаков из Random Forest.
Сравни результаты и выведи топ-10 общих признаков.
Построй график важности признаков.

Пример: в датасете о кредитном скоринге из 30 признаков после отбора останется 12, что ускорит обучение и снизит переобучение.

6. Выбор модели и базовый бенчмарк

Задача: быстро сравнить несколько алгоритмов.

Промт:

Сравни 5 моделей для задачи классификации (или регрессии):
- Логистическая регрессия
- Random Forest
- Gradient Boosting (XGBoost)
- SVM
- KNN
Напиши код, который обучает каждую модель на тренировочной выборке, оценивает на валидационной с помощью кросс-валидации (5 фолдов) и выводит таблицу с метриками: accuracy, precision, recall, F1, ROC-AUC (или MAE, RMSE для регрессии).
Используй Pipeline для предобработки.

Пример: для задачи прогнозирования цены квартиры вы увидите, что XGBoost даёт RMSE на 15% ниже, чем линейная регрессия. Это ориентир для дальнейшей настройки.

7. Гиперпараметрическая настройка

Задача: автоматический подбор параметров.

Промт:

Напиши код для оптимизации гиперпараметров XGBoost с помощью Optuna.
Пространство поиска:
- n_estimators: 100–1000
- max_depth: 3–10
- learning_rate: 0.01–0.3
- subsample: 0.5–1.0
- colsample_bytree: 0.5–1.0
Запусти 50 испытаний, используй 5-фолдовую кросс-валидацию, метрика — ROC-AUC.
Выведи лучшие параметры и график оптимизации.

Пример: после 50 итераций Optuna находит max_depth=7, learning_rate=0.05, n_estimators=500, что улучшает ROC-AUC с 0.82 до 0.86.

Совет: если данных мало, используйте Bayesian optimization вместо GridSearch — это быстрее.

8. Визуализация результатов модели

Задача: показать качество модели на графиках.

Промт:

Построй 4 графика для оценки классификатора:
1. ROC-кривая с AUC.
2. Precision-Recall кривая.
3. Матрица ошибок (confusion matrix) с нормализацией.
4. Калибровочная кривая (reliability diagram).
Используй matplotlib и seaborn, сделай графики информативными, добавь заголовки и подписи осей на русском языке.

Пример: для модели оттока клиентов вы увидите, что при пороге 0.4 достигается баланс precision и recall, а матрица ошибок покажет, сколько ложных срабатываний.

9. Интерпретация модели с SHAP

Задача: объяснить, почему модель приняла то или иное решение.

Промт:

Напиши код для интерпретации модели XGBoost с помощью SHAP.
1. Построй summary plot для всех признаков.
2. Построй dependence plot для топ-3 признаков.
3. Для конкретного примера (индекс 42) выведи force plot и объясни вклад каждого признака в предсказание.
Дай интерпретацию на русском языке.

Пример: для клиента с высоким риском оттока SHAP покажет, что основной вклад внёс признак Contract_Monthly (значение 1) и низкий Tenure. Это позволит бизнесу предложить скидку на годовой контракт.

10. Визуализация данных с Plotly для презентаций

Задача: создать интерактивные графики для стейкхолдеров.

Промт:

Создай интерактивный дашборд с Plotly Express для датасета `df`:
- Scatter plot: зависимость целевой переменной от двух признаков, с цветом по категории.
- Box plot: распределение целевой переменной по категориям.
- Heatmap: корреляции.
- Гистограмма с возможностью выбора признака.
Сохрани дашборд в HTML-файл `dashboard.html`.

Пример: вы можете отправить HTML-файл заказчику, и он сам покрутит графики, не устанавливая Python.

11. Автоматизация отчёта с помощью pandas-profiling

Задача: сгенерировать полный EDA-отчёт за одну команду.

Промт:

Напиши код для генерации отчёта с помощью библиотеки ydata-profiling (бывшая pandas-profiling).
Отчёт должен включать: обзор данных, распределения, корреляции, пропуски, дубликаты.
Сохрани отчёт в `report.html`.
Дополнительно: настрой минимальный режим для больших датасетов (mode='minimal').

Пример: для датасета в 100 000 строк отчёт сгенерируется за пару минут и даст полную картину.

12. Работа с временными рядами

Задача: анализ и прогнозирование временных рядов.

Промт:

У меня есть временной ряд с датой и значением. Напиши код для:
1. Декомпозиции ряда на тренд, сезонность и остатки (STL).
2. Проверки стационарности (тест Дики-Фуллера).
3. Построения модели SARIMA и Prophet.
4. Оценки качества на отложенной выборке (MAE, MAPE).
5. Визуализации прогноза с доверительными интервалами.

Пример: для прогноза продаж на месяц вперёд Prophet покажет сезонный всплеск в декабре.

13. Кластеризация и сегментация

Задача: разбить клиентов на группы.

Промт:

Проведи кластеризацию клиентов методом K-means.
1. Определи оптимальное число кластеров с помощью метода локтя и silhouette score.
2. Визуализируй кластеры на двумерной проекции (PCA или t-SNE).
3. Для каждого кластера выведи средние значения признаков и дай бизнес-интерпретацию.

Пример: вы получите 4 сегмента: «экономные», «лояльные», «новые» и «уходящие». Для каждого можно предложить свою маркетинговую стратегию.

14. Развёртывание модели (кратко)

Задача: сохранить модель и сделать простой API.

Промт:

Напиши код для сохранения обученной модели с помощью joblib и создания REST API на FastAPI.
API должно принимать JSON с признаками и возвращать предсказание.
Добавь пример запроса с помощью curl.

Пример: после сохранения модели вы можете запустить uvicorn main:app и отправить POST-запрос с данными клиента, получив вероятность оттока.

15. Оптимизация пайплайна

Задача: ускорить обучение и инференс.

Промт:

Предложи способы оптимизации пайплайна машинного обучения:
- Использование категориальных признаков без One-Hot (CatBoost).
- Уменьшение размерности с помощью PCA.
- Кэширование предобработки.
- Параллелизация с joblib.
Напиши пример кода для каждого пункта.

Пример: переход на CatBoost с нативной поддержкой категорий сократил время предобработки в 3 раза.

Заключение

Эти 15 промтов покрывают 90% задач типичного дата-сайентиста. Они не заменят глубокого понимания алгоритмов, но значительно ускорят рутину. Главное — всегда проверяйте сгенерированный код, адаптируйте под свои данные и не забывайте про интерпретацию результатов. Комбинируйте промты, создавайте свои на их основе, и вы удивитесь, как много можно успеть за один вечер. Практикуйтесь, экспериментируйте и делитесь своими находками.

Примечание: для работы с LLM используйте проверенные инструменты — ChatGPT, Claude, DeepSeek или локальные модели через Ollama. Всегда проверяйте код на тестовых данных перед применением на реальных проектах.

← Все статьи

Комментарии

Читайте также

Пример: Как логистическая компания заменила микросервисы на Python на Rust Actix (обучение через курс Asibiont Rust for Web) и достигла доступности 99,99%

28 июля 2026

Z-Wave и AI-агент ASI Biont: интеграция умного дома без программирования за 30 минут

18 июля 2026

LM Studio Bionic: Как AI-агент для открытых моделей меняет Vibe Coding в 2026 году

17 июля 2026

Как AI-агент ASI Biont трансформирует интеграцию с Альфа-Банком: безкодовая сверка счетов и автоматизация платежей

20 июля 2026

Private Equity & Venture Capital — инвестиции и сделки: курс для тех, кто хочет работать на уровне топ-фондов

14 июля 2026

Intel Neural Compute Stick + ASI Biont: как превратить USB-ускоритель в автономного Edge AI-агента

15 июля 2026

Возобновляемая энергия — чистые энергоносители и зеленые технологии: ваш путь к более зеленому будущему в 2026 году

5 июля 2026

SQL Mastery: как оконные функции и индексы превращают аналитика в профи

22 июня 2026

Как AI-тьютор помогает освоить Административное право РФ (КоАП): курс для юристов и предпринимателей

15 июля 2026