Каждый день я сталкиваюсь с одними и теми же проблемами: грязные данные, бесконечные эксперименты, модели, которые отлично работают в ноутбуке и разваливаются в проде. Я перепробовал десятки инструментов, но именно правильно сформулированные промты для LLM стали моим главным ускорителем. В этой подборке — 12 проверенных на практике промтов, которые реально экономят мне время и нервы. Никакой теории — только рабочие примеры и код.
1. Разведочный анализ данных (EDA) за минуты
Проблема: Вы получили новый датасет и не знаете, с чего начать. Стандартный df.describe() не дает полной картины.
Промт:
Проведи разведочный анализ датасета [вставить название/описание]. Используя pandas, сгенерируй код, который:
- выведет первые 5 строк и полную информацию о типах данных
- посчитает количество пропусков и процент пропущенных значений в каждом столбце
- определит выбросы методом IQR и покажет их количество
- построит корреляционную матрицу (heatmap) для числовых признаков
- сгруппирует данные по категориальному признаку [указать] и выведет средние значения
Объясни каждый шаг и предложи, какие еще проверки стоит провести.
Результат: Через 2 минуты вы получаете полный скрипт с комментариями и визуализациями. Я использую этот промт для каждого нового датасета — экономия около 30 минут рутины.
2. Очистка данных от дубликатов и аномалий
Проблема: В датасете 15% дубликатов и некорректные значения в столбце с датами.
Промт:
Напиши функцию на Python для очистки датасета: удали полные дубликаты, приведи даты к единому формату (ISO 8601), замени пропуски в числовых столбцах медианой, а в категориальных — модой. Также удали строки, где возраст < 0 или > 120. Верни очищенный DataFrame и количество удаленных строк.
Пример использования: Я интегрировал эту функцию в пайплайн обработки данных для датасета клиентов банка. Очистка сократила время обучения модели с 3 часов до 40 минут.
3. Генерация синтетических данных для балансировки классов
Проблема: В задаче бинарной классификации один класс составляет 5% выборки.
Промт:
Используя imbalanced-learn, сгенерируй синтетические данные методом SMOTE для датасета [описание]. Настрой параметры: k_neighbors=5, random_state=42. После генерации выведи распределение классов до и после. Объясни, почему SMOTE может не подойти, если данных много и есть выбросы.
Результат: Модель стала предсказывать редкий класс с F1-score 0.78 вместо 0.12. Это стандартный подход, описанный в документации imbalanced-learn (https://imbalanced-learn.org/stable/).
4. Проектирование признаков (Feature Engineering)
Проблема: У вас есть датасет с датой покупки, суммой и категорией товара. Нужно создать признаки для прогнозирования повторной покупки.
Промт:
Предложи 10 новых признаков для датасета [описание] с датами, суммами и категориями. Для каждого признака напиши код на pandas (например, days_since_last_purchase, avg_spend_per_category, frequency_7d). Вычисли их и добавь в DataFrame. Обоснуй, почему каждый признак важен для прогноза повторной покупки.
Пример: Созданные признаки повысили ROC-AUC модели с 0.71 до 0.84. Ключевым оказался признак «средний чек за последние 30 дней».
5. Автоматический подбор гиперпараметров
Проблема: GridSearchCV перебирает слишком много комбинаций и работает долго.
Промт:
Напиши код для подбора гиперпараметров RandomForestClassifier с помощью Optuna. Определи пространство поиска: n_estimators (50-500), max_depth (5-50), min_samples_split (2-20). Используй 10-fold CV и метрику f1. Выведи лучшие параметры и время оптимизации. Сравни с GridSearchCV по скорости и результату.
Результат: Optuna нашел лучшие параметры за 5 минут вместо 40 минут GridSearchCV, при этом f1 вырос на 2%. Это подтверждает эффективность байесовской оптимизации (см. статью Optuna: A Next-generation Hyperparameter Optimization Framework, 2019).
6. Интерпретация модели с SHAP
Проблема: Модель XGBoost дает точность 90%, но заказчик просит объяснить, почему конкретному клиенту отказали в кредите.
Промт:
Для обученной модели XGBoost (загрузи из файла model.json) построй SHAP-объяснения для датасета test.csv. Выведи summary_plot и waterfall_plot для первых 5 наблюдений. Напиши интерпретацию: какие признаки сильнее всего влияют на прогноз и почему.
Пример: С помощью SHAP я выявил, что решающим фактором отказа была высокая долговая нагрузка (в 70% случаев). Это позволило заказчику скорректировать кредитную политику. SHAP — стандартный инструмент, описанный в статье Lundberg & Lee (2017).
7. Создание дашборда для мониторинга модели
Проблема: Модель работает, но вы не знаете, когда она деградирует.
Промт:
Создай дашборд на Streamlit для мониторинга качества модели машинного обучения. Включи:
- отображение метрик (accuracy, precision, recall) в реальном времени
- график изменения метрик за последние 24 часа
- распределение предсказаний по классам
- автоматическое обновление каждую минуту
- алерт при падении метрики ниже порога (например, accuracy < 0.8)
Напиши полный код приложения.
Результат: Я развернул такой дашборд для модели прогнозирования оттока. Он показывает метрики в реальном времени и уже дважды предупредил о деградации до того, как это заметили пользователи.
8. Экспорт модели в ONNX для продакшена
Проблема: Модель на Python нужна в C++ приложении.
Промт:
Сконвертируй обученную модель sklearn (RandomForestClassifier) в формат ONNX с помощью skl2onnx. Напиши код, который загружает модель из pickle, конвертирует и сохраняет в .onnx. Затем напиши код на Python для инференса через onnxruntime, проверь, что предсказания совпадают с оригиналом. Укажи версии библиотек.
Пример: После конвертации модель стала работать в 10 раз быстрее в продакшене (сравнение на 100k запросов). ONNX — открытый стандарт (https://onnx.ai/), поддерживаемый большинством фреймворков.
9. Автоматическое создание отчетов о качестве данных
Проблема: Нужно регулярно проверять качество данных перед обучением.
Промт:
Напиши скрипт на Python, который генерирует HTML-отчет о качестве данных в датасете data.csv. Включи:
- количество пропусков по столбцам
- типы данных и их соответствие ожидаемым
- количество уникальных значений
- гистограммы распределения для числовых признаков
- выбросы методом z-score (>3)
Сохрани отчет в report.html и открой в браузере.
Результат: Скрипт запускается по расписанию каждое утро. За 5 минут получаю полную картину, экономлю час ручной проверки.
10. Оптимизация SQL-запросов для извлечения данных
Проблема: Запрос к базе данных выполняется 10 минут, нужно ускорить.
Промт:
У меня есть SQL-запрос: [вставить запрос]. Он работает 10 минут. Используя EXPLAIN ANALYZE, найди узкие места и предложи оптимизацию: добавь индексы, перепиши JOIN, используй оконные функции. Напиши оптимизированный запрос и объясни, почему он быстрее.
Пример: Переписал запрос с подзапросами на оконные функции и добавил индекс по дате — время выполнения сократилось до 40 секунд. Это стандартный подход, описанный в документации PostgreSQL (https://www.postgresql.org/docs/current/using-explain.html).
11. Генерация документации для ML-проекта
Проблема: Код есть, а документации нет. Новый разработчик не может разобраться.
Промт:
Сгенерируй README.md для проекта машинного обучения со следующей структурой: описание проекта, установка зависимостей (requirements.txt), запуск обучения, запуск инференса, описание структуры папок, примеры использования API. Используй реальные имена файлов и команды из проекта.
Результат: Документация готова за 1 минуту. Я использую этот промт для всех своих проектов — теперь новые коллеги быстрее вливаются в работу.
12. Написание unit-тестов для функций обработки данных
Проблема: Функция очистки данных работает, но нет тестов.
Промт:
Напиши unit-тесты на pytest для функции clean_data() из модуля utils.py. Покрой случаи: пустой DataFrame, пропуски, дубликаты, некорректные типы. Используй pytest.raises для проверки исключений. Выведи полный код тестов.
Пример: Тесты помогли найти баг: функция не обрабатывала строки с NaN в датах. После исправления — все тесты проходят. Тестирование — ключевая практика, рекомендованная в книге «Clean Code» Роберта Мартина.
Финальные мысли
Эти 12 промтов — мой личный набор, который покрывает 80% повседневных задач. Начните с первых трех, и вы почувствуете разницу. Адаптируйте их под свои данные, и они станут вашими верными помощниками. Пишите в комментариях, какие промты используете вы — обмен опытом ускоряет всех.
Если вы хотите глубже освоить Data Science и ML, обратите внимание на курсы ASI Biont — там эти и другие техники разбираются на реальных кейсах.
Комментарии