Data Science без боли: 15 промтов, которые заменяют часы рутины
Представьте: вы только что получили датасет с 50 признаками и 100 000 строк. Впереди — разведочный анализ, чистка, генерация фич, визуализация. Знакомо? По данным опроса Kaggle State of Data Science 2023, до 80% времени data scientist тратит на подготовку и очистку данных, а не на моделирование. Но что, если рутину можно автоматизировать с помощью правильно составленных промтов для ChatGPT или других LLM? В этой подборке — 15 конкретных промтов, которые закрывают ключевые этапы пайплайна: от первичного EDA до интерпретации графиков и проверки гипотез. Каждый промт сопровождается примером на реальном датасете (отток клиентов, продажи) и пояснением, какой этап он ускоряет. Вы сможете копировать их и адаптировать под свои задачи.
Все промты предполагают, что вы передаёте модели фрагмент данных или их описание. Для лучшего результата используйте модели с большим контекстом (например, GPT-4 Turbo, Claude 3 Opus) и добавляйте в запрос примеры ваших данных.
1. Быстрый EDA: автоматический отчёт по датасету
Задача: Получить сводку по данным за 30 секунд.
Промт:
Ты — senior data scientist. Вот датасет: {df.head(5).to_string()} и информация о типах: {df.dtypes}. Сгенерируй код на Python для EDA: выведи описательные статистики, проверь пропуски, уникальные значения, распределения числовых признаков. Используй pandas и matplotlib. Верни готовый скрипт с комментариями.
Пример: Для датасета Telco Customer Churn (7 043 строки) промт сгенерирует код, который покажет, что в столбце TotalCharges 11 пропусков, а целевая переменная Churn несбалансирована (26.5% положительных).
2. Визуализация пропусков и выбросов
Задача: Быстро оценить качество данных.
Промт:
Напиши код на Python, который строит матрицу пропусков (missingno) и ящики с усами для всех числовых признаков. Для выбросов используй метод IQR. Выведи количество выбросов по каждому признаку.
Пример: В датасете продаж (100 000 транзакций) промт выявит, что в признаке 'sales_amount' 2% выбросов выше 99-го перцентиля.
3. Обработка пропусков: стратегии и код
Задача: Заполнить пропуски обоснованно.
Промт:
У меня есть датафрейм с пропусками. Предложи стратегию заполнения для каждого столбца: медиана, среднее, мода, KNNImputer или удаление. Учти тип данных и распределение. Сгенерируй код на pandas/sklearn.
Пример: Для признака 'age' с пропусками 5% и нормальным распределением промт порекомендует заполнить медианой, а для категориального 'city' — модой.
4. Feature engineering: создание новых признаков
Задача: Автоматически предложить фичи на основе существующих.
Промт:
Ты — эксперт по feature engineering. Вот список колонок: {columns}. Предложи 10 новых признаков, которые могут улучшить модель предсказания оттока. Для каждого дай формулу и объясни, почему он полезен. Сгенерируй код на pandas.
Пример: Для Telco Churn промт предложит 'avg_monthly_charges' (TotalCharges / tenure), 'is_new_customer' (tenure < 6), 'streaming_services_count' и др.
5. Кодирование категорий: выбор метода
Задача: Правильно закодировать категориальные переменные.
Промт:
У меня есть категориальные признаки с разной кардинальностью. Предложи метод кодирования для каждого: One-Hot, Target Encoding, Frequency Encoding. Учти риск переобучения. Напиши код с использованием category_encoders.
Пример: Для признака 'country' с 50 уникальными значениями промт порекомендует Target Encoding, а для 'gender' (2 значения) — One-Hot.
6. Масштабирование и нормализация
Задача: Подготовить числовые признаки для модели.
Промт:
Напиши пайплайн на sklearn для масштабирования числовых признаков: StandardScaler для нормальных, RobustScaler для с выбросами, MinMaxScaler для ограниченных. Объясни выбор.
Пример: В датасете с доходом (выбросы) и возрастом (норма) промт применит RobustScaler к доходу и StandardScaler к возрасту.
7. Визуализация распределений и корреляций
Задача: Построить информативные графики для отчёта.
Промт:
Сгенерируй код на Python (seaborn/matplotlib) для визуализации: гистограммы с KDE для числовых признаков, матрицу корреляций (heatmap), pairplot для топ-5 признаков по корреляции с целевой. Сохрани графики в папку 'figures'.
Пример: Для датасета недвижимости промт создаст pairplot, где видна сильная линейная связь между 'area' и 'price'.
8. Проверка гипотез: статистические тесты
Задача: Быстро проверить значимость различий.
Промт:
Проверь гипотезу: средний чек клиентов, ушедших в отток, отличается от оставшихся. Используй t-test (или Mann-Whitney U, если распределение не нормальное). Выведи p-value и интерпретацию.
Пример: Для Telco Churn промт покажет, что у ушедших клиентов средний MonthlyCharges выше (p < 0.001).
9. Интерпретация графиков: автоматический анализ
Задача: Получить текстовое описание графиков.
Промт:
Опиши, что показывает этот график (вставь изображение или опиши словами). Какие выводы можно сделать? Есть ли аномалии или тренды?
Пример: Загрузив scatter plot зависимости 'tenure' от 'Churn', промт отметит, что большинство ушедших имеют tenure < 10 месяцев.
10. Отбор признаков: автоматический feature selection
Задача: Уменьшить размерность.
Промт:
Напиши код для отбора признаков: используй SelectKBest (f_classif) и RFE с RandomForest. Выведи топ-10 признаков и их важность.
Пример: Для датасета кредитного скоринга промт выделит 'payment_history', 'credit_utilization' как самые важные.
11. Генерация синтетических данных для тестов
Задача: Создать похожий датасет для отладки пайплайна.
Промт:
Сгенерируй синтетический датасет с такими же колонками и распределениями, как исходный. Используй numpy и Faker. Сохрани в CSV.
Пример: Для датасета с 10 признаками промт создаст 1000 строк с реалистичными значениями.
12. Автоматизация отчёта: экспорт в HTML
Задача: Сделать EDA-отчёт для команды.
Промт:
Сгенерируй код, который создаёт HTML-отчёт с помощью pandas-profiling (ydata-profiling). Включи статистики, корреляции, пропуски.
Пример: Запустив код, вы получите отчёт с интерактивными графиками для датасета продаж.
13. Feature engineering для временных рядов
Задача: Создать лаговые признаки и скользящие средние.
Промт:
Напиши код для генерации признаков временного ряда: лаги (1, 7, 30 дней), скользящее среднее (7, 30 дней), день недели, месяц. Используй pandas.
Пример: Для прогноза продаж промт создаст признаки 'lag_7', 'rolling_mean_30' и др.
14. Обнаружение аномалий
Задача: Найти выбросы в многомерном пространстве.
Промт:
Напиши код для обнаружения аномалий с помощью Isolation Forest и Local Outlier Factor. Выведи индексы аномальных точек и их количество.
Пример: В датасете транзакций промт найдёт 0.5% мошеннических операций.
15. Подготовка выводов для стейкхолдеров
Задача: Перевести технические результаты на бизнес-язык.
Промт:
Ты — аналитик. На основе этих результатов EDA (вставь ключевые цифры) сформулируй 5 инсайтов для бизнеса и рекомендации. Избегай технического жаргона.
Пример: Для Telco Churn промт выдаст: «Клиенты с ежемесячной оплатой > $70 уходят в 2 раза чаще. Рекомендуем предложить им скидку или дополнительный сервис».
Все эти промты можно комбинировать в единый пайплайн. Например, начните с промта №1 для EDA, затем №2 для очистки, №4 для генерации фич и №10 для отбора. Так вы сэкономите дни рутинной работы.
Помните: LLM не заменяет экспертизу, но ускоряет рутину. Всегда проверяйте сгенерированный код и интерпретируйте результаты критически. Экспериментируйте с промтами, добавляйте контекст о вашей предметной области — и data science станет быстрее и приятнее.
Комментарии