Data Science без боли: 15 промтов, которые заменяют часы рутины в EDA, визуализации и feature engineering

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 станет быстрее и приятнее.

← Все статьи

Комментарии