Python + ИИ: 12 промтов, которые ускоряют Data Science от парсинга до продакшена
Представьте: вы тратите часы на написание шаблонного кода для очистки данных, а модель всё равно выдаёт ошибку из-за пропущенных значений. Или вы хотите визуализировать результаты, но вместо анализа данных вы гуглите синтаксис Matplotlib. Знакомо? В 2026 году Data Science без AI-ассистента — это как ездить на велосипеде, когда рядом стоит Tesla. Но чтобы получить реальную пользу, нужны правильные промты.
Мы собрали 12 проверенных промтов, которые покрывают ключевые этапы работы с данными: от исследования и предобработки до обучения моделей и визуализации. Каждый промт протестирован на реальных задачах — не абстрактные примеры, а рабочие инструменты. Вы можете копировать их и адаптировать под свои данные.
Почему это работает? Современные LLM (GPT-4, Claude 3, Gemini) понимают контекст Python-кода и могут генерировать не просто сниппеты, а полноценные решения с учётом ваших данных. Главное — правильно сформулировать запрос. Ниже — промты, которые экономят время и уменьшают количество ошибок.
1. Разведочный анализ данных (EDA) с автоматической генерацией отчёта
Задача: Быстро понять структуру датасета, выявить пропуски, выбросы и корреляции, не написав ни строчки кода вручную.
Промт:
Ты — опытный Data Scientist. У меня есть датафрейм pandas `df` с данными о [опишите предметную область, например, продажах недвижимости]. Напиши код на Python, который:
1. Выводит основную информацию: shape, dtypes, количество пропусков по столбцам.
2. Строит гистограммы для числовых признаков и bar plot для категориальных (топ-10 по частоте).
3. Выводит матрицу корреляций (heatmap) для числовых признаков.
4. Находит выбросы с помощью метода IQR и выводит их количество для каждого числового столбца.
5. Генерирует текстовый отчёт с ключевыми выводами (например, «столбец X имеет 20% пропусков»).
Используй библиотеки pandas, matplotlib, seaborn. Код должен быть готов к запуску в Jupyter Notebook.
Пример использования: Вы загрузили датасет о квартирах. Вставляете промт, указываете название датафрейма. Через несколько секунд получаете готовый ноутбук с графиками и выводами. Это экономит 30–60 минут рутинной работы.
Совет: Если данных много, попросите ассистента оптимизировать код — например, использовать pd.options.mode.chained_assignment = None или сэмплирование.
2. Генерация синтетических данных для тестирования моделей
Задача: Когда реальных данных мало или они конфиденциальны, нужен синтетический датасет с сохранением статистических свойств.
Промт:
Напиши функцию на Python, которая генерирует синтетический датафрейм, похожий на исходный `df`. Функция должна:
- Для каждого числового столбца подбирать распределение (нормальное, экспоненциальное и т.д.) с помощью scipy.stats и генерировать значения с теми же параметрами.
- Для категориальных столбцов сохранять частоты категорий.
- Учитывать корреляции между числовыми признаками (использовать копулу или многомерное нормальное распределение).
- Возвращать новый датафрейм того же размера.
Вход: исходный df. Выход: синтетический df_synth.
Пример: У вас есть медицинские данные пациентов, которые нельзя разглашать. Вы генерируете синтетику и обучаете модель. Важно: проверьте, что синтетические данные не содержат реальных персональных данных.
3. Автоматический feature engineering
Задача: Создать новые признаки на основе существующих, не перебирая вручную десятки вариантов.
Промт:
Ты — эксперт по feature engineering. Дан датафрейм `df` с признаками: [перечислите столбцы]. Целевая переменная: `target` (тип: [классификация/регрессия]).
Предложи и реализуй 5–7 новых признаков, которые могут улучшить модель. Для каждого признака:
- Опиши логику (например, «отношение площади к количеству комнат»).
- Напиши код на pandas для его создания.
- Кратко объясни, почему это может помочь.
Используй только существующие столбцы. Избегай утечки данных (data leakage).
Пример: Для задачи прогноза цены квартиры промт может предложить признаки: «цена за квадратный метр», «возраст дома», «расстояние до центра в минутах». Вы сразу получаете код и обоснование.
4. Подбор гиперпараметров с помощью Optuna
Задача: Быстро настроить байесовскую оптимизацию для любой модели scikit-learn или XGBoost.
Промт:
Напиши скрипт на Python для подбора гиперпараметров модели [укажите модель, например, RandomForestClassifier] с помощью Optuna.
Дано: X_train, y_train, X_val, y_val.
Функция objective должна обучать модель, вычислять метрику [accuracy/F1/ROC-AUC] на валидации и возвращать её.
Количество испытаний: 50.
Выведи лучшие параметры и значение метрики.
Добавь early stopping, если возможно.
Используй cross-validation внутри objective.
Пример: Вы хотите улучшить свою модель градиентного бустинга. Вместо ручного перебора вы запускаете скрипт, который за 10 минут находит оптимальные параметры. Optuna поддерживает pruning — это ускоряет поиск.
Ссылка: Документация Optuna
5. Интерпретация модели с SHAP
Задача: Понять, какие признаки влияют на предсказания модели, и объяснить это заказчику.
Промт:
Ты — специалист по интерпретируемости ML. У меня есть обученная модель `model` и данные X_test. Напиши код, который:
1. Вычисляет SHAP-значения с помощью библиотеки shap.
2. Строит summary_plot (глобальная важность).
3. Строит dependence_plot для топ-3 признаков.
4. Для одного конкретного примера (индекс 0) строит waterfall_plot и выводит текстовое объяснение: какие признаки увеличили/уменьшили предсказание и на сколько.
Используй shap.Explainer. Учти, что модель может быть любой (дерево, линейная, нейросеть).
Пример: Вы обучили модель кредитного скоринга. SHAP показывает, что для конкретного клиента отказ связан с высокой долговой нагрузкой и небольшим стажем. Это помогает объяснить решение регулятору.
Ссылка: SHAP documentation
6. Визуализация данных с Plotly для интерактивных дашбордов
Задача: Создать интерактивные графики, которые можно встроить в отчёт или дашборд.
Промт:
Сгенерируй код на Python с Plotly Express для визуализации датафрейма `df`. Построй:
1. Интерактивный scatter plot: по осям X и Y — числовые признаки, цвет — категориальный, размер — третий числовой.
2. Box plot для сравнения распределения целевой переменной по категориям.
3. Heatmap корреляций с аннотациями.
4. Линейный график временного ряда (если есть столбец с датой).
Добавь заголовки, подписи осей, настрой hover. Сохрани каждый график в HTML-файл.
Пример: Вы анализируете продажи по регионам. Plotly позволяет навести курсор на точку и увидеть точные значения, а также зумить график. Это удобно для презентаций.
Ссылка: Plotly Express
7. Ускорение обучения моделей с помощью GPU и Rapids
Задача: Перевести пайплайн с pandas/scikit-learn на GPU-ускорение без глубокого погружения в CUDA.
Промт:
У меня есть код на pandas и scikit-learn для [опишите задачу, например, обучение LogisticRegression на 5 млн строк]. Перепиши его с использованием библиотеки RAPIDS (cuDF, cuML), чтобы задействовать GPU.
Сохрани логику: загрузка данных, предобработка, обучение, оценка.
Укажи, какие функции заменить (например, pd.read_csv -> cudf.read_csv, sklearn.linear_model.LogisticRegression -> cuml.linear_model.LogisticRegression).
Добавь проверку наличия GPU.
Пример: Если у вас есть GPU NVIDIA, RAPIDS может ускорить обучение в 10–50 раз. Это критично для больших данных.
Ссылка: RAPIDS AI
8. Автоматическое логирование экспериментов с MLflow
Задача: Отслеживать параметры, метрики и артефакты моделей, чтобы не потерять результаты.
Промт:
Напиши обёртку для обучения модели с логированием в MLflow. Функция train_model должна:
- Принимать словарь параметров, данные и имя эксперимента.
- Запускать run в MLflow, логировать все параметры, метрики (accuracy, F1), модель и графики (например, confusion matrix).
- Сохранять версию данных (хеш).
- Возвращать обученную модель.
Используй mlflow.sklearn.autolog() для автоматического логирования, но добавь и кастомные метрики.
Пример: Вы перебираете 20 комбинаций гиперпараметров. MLflow сохранит все результаты, и вы сможете сравнить их в UI.
Ссылка: MLflow Tracking
9. Написание unit-тестов для пайплайна данных
Задача: Обеспечить надёжность кода, особенно при работе с грязными данными.
Промт:
Сгенерируй unit-тесты на pytest для функции `clean_data(df)`, которая:
- Удаляет дубликаты.
- Заполняет пропуски в числовых столбцах медианой, в категориальных — модой.
- Приводит типы данных.
Тесты должны проверять:
- Что после очистки нет пропусков.
- Что дубликаты удалены.
- Что типы соответствуют ожидаемым.
Используй фикстуры для создания тестовых датафреймов. Добавь тест на пустой датафрейм.
Пример: Вы пишете пайплайн для еженедельного обновления данных. Тесты помогут избежать ошибок при изменении формата входных файлов.
10. Оптимизация SQL-запросов для извлечения данных
Задача: Ускорить запросы к базе данных, которые используются для загрузки данных в Python.
Промт:
У меня есть SQL-запрос, который выполняется слишком долго. Вот он: [вставьте запрос]. Таблицы: [опишите схемы].
Проанализируй запрос и предложи оптимизации:
- Добавление индексов.
- Переписывание с использованием оконных функций или CTE.
- Уменьшение количества JOIN.
- Фильтрация на стороне БД.
Выдай исправленный запрос и объясни изменения. Если нужно, предложи создать материализованное представление.
Пример: Запрос с múltiple JOIN и подзапросами может выполняться минуты. После оптимизации — секунды.
11. Генерация документации к коду с помощью Sphinx
Задача: Автоматически создавать документацию для модулей Python.
Промт:
Напиши docstring в формате Google Style для следующих функций: [вставьте код].
Затем создай файл conf.py для Sphinx с автодокументированием (autodoc) и настройкой темы.
Добавь пример использования в docstring.
Убедись, что документация включает типы аргументов и возвращаемое значение.
Пример: Вы пишете библиотеку для коллег. Sphinx автоматически соберёт HTML-документацию.
12. Деплой модели в продакшен с FastAPI
Задача: Обернуть модель в REST API для использования другими сервисами.
Промт:
Создай FastAPI приложение для обслуживания обученной модели `model` (сохранённой в pickle).
Эндпоинт /predict принимает JSON с признаками, возвращает предсказание.
Добавь валидацию входных данных с помощью Pydantic.
Обработай ошибки (неверные типы, пропуски).
Добавь эндпоинт /health для проверки.
Напиши Dockerfile для контейнеризации.
Используй uvicorn для запуска.
Пример: Вы обучили модель прогноза оттока клиентов. Теперь коллеги из веб-приложения могут отправлять запросы и получать прогнозы.
Ссылка: FastAPI
Как использовать эти промты эффективно
- Адаптируйте под свои данные: всегда указывайте названия столбцов, типы задач и контекст.
- Итеративно уточняйте: если результат не идеален, попросите ассистента доработать код.
- Проверяйте код: LLM может ошибаться, особенно в сложных местах. Запускайте тесты.
- Комбинируйте промты: например, сначала EDA, затем feature engineering, потом обучение.
Эти 12 промтов покрывают 80% типовых задач Data Science. Они помогут вам быстрее прототипировать, меньше отвлекаться на синтаксис и больше времени уделять анализу и бизнес-логике. Попробуйте применить хотя бы три из них в следующем проекте — и вы почувствуете разницу. А если хотите системно освоить Python для Data Science с поддержкой AI-ассистента, обратите внимание на наш курс — там мы разбираем реальные кейсы и учим автоматизировать рутину.
Комментарии