Вы когда-нибудь тратили часы на очистку данных, которые можно было бы обработать за минуту? Или строили модель, чтобы потом обнаружить, что признаки выбраны неправильно? Data Science — это не только математика и алгоритмы, но и умение эффективно формулировать задачи. Именно здесь на помощь приходят промты — инструкции для нейросетей, которые позволяют автоматизировать рутину и ускорить анализ. В этой статье я собрал 15 проверенных промтов, которые помогут вам в анализе данных, построении моделей и визуализации. Они сэкономят вам часы работы и сделают процесс более прозрачным. Поехали!
1. Разведочный анализ данных (EDA) за один запрос
Задача: Быстро получить общее представление о датасете: типы данных, пропуски, статистики, корреляции.
Промт:
Проведи разведочный анализ данных для датасета [название]. Выполни следующие шаги:
1. Загрузи данные из [источник].
2. Выведи первые 5 строк и информацию о типах данных.
3. Подсчитай количество пропусков в каждом столбце и предложи стратегии их заполнения.
4. Построй гистограммы для всех числовых признаков и боксплоты для выявления выбросов.
5. Рассчитай матрицу корреляций Пирсона и визуализируй ее тепловой картой.
6. Дай краткое резюме: какие признаки наиболее важны, есть ли мультиколлинеарность, какие аномалии заметны.
Пример результата:
Нейросеть сгенерирует код на Python с использованием pandas, matplotlib и seaborn, который выполнит все шаги. Вы получите готовый отчет с графиками и интерпретацией.
2. Автоматическая очистка данных
Задача: Обработать пропуски, выбросы и некорректные значения без ручного кодирования.
Промт:
Напиши функцию на Python для очистки датафрейма pandas. Функция должна:
- Заменять пропуски в числовых столбцах медианой, в категориальных — модой.
- Удалять дубликаты.
- Обрабатывать выбросы методом IQR (заменять на границы).
- Приводить строковые значения к нижнему регистру и удалять пробелы.
- Автоматически определять типы данных и конвертировать их при необходимости.
Покажи пример использования на синтетических данных.
Пример результата:
import pandas as pd
import numpy as np
def clean_df(df):
# Заполнение пропусков
for col in df.columns:
if df[col].dtype == 'object':
df[col] = df[col].fillna(df[col].mode()[0])
else:
df[col] = df[col].fillna(df[col].median())
# Удаление дубликатов
df = df.drop_duplicates()
# Обработка выбросов
for col in df.select_dtypes(include=[np.number]).columns:
Q1 = df[col].quantile(0.25)
Q3 = df[col].quantile(0.75)
IQR = Q3 - Q1
lower = Q1 - 1.5 * IQR
upper = Q3 + 1.5 * IQR
df[col] = df[col].clip(lower, upper)
# Приведение строк к нижнему регистру
for col in df.select_dtypes(include=['object']).columns:
df[col] = df[col].str.lower().str.strip()
return df
3. Генерация синтетических данных для тестирования
Задача: Создать искусственный датасет с заданными характеристиками для экспериментов.
Промт:
Сгенерируй синтетический датасет на Python с помощью numpy и pandas. Условия:
- 1000 строк, 5 признаков: age (нормальное распределение, среднее 35, std 10), income (логнормальное распределение), city (из списка Москва, Питер, Казань), rating (равномерное от 1 до 5), churn (бинарный, зависит от возраста и дохода).
- Добавь 10% пропусков случайным образом.
- Сохрани в CSV файл.
Пример результата:
Код для генерации данных с комментариями и примером вывода.
4. Подбор модели машинного обучения с AutoML
Задача: Автоматически выбрать лучшую модель для задачи классификации/регрессии.
Промт:
Используя библиотеку PyCaret, создай pipeline для задачи бинарной классификации на датасете [название]. Установи целевую переменную [col]. Сравни минимум 5 моделей (логистическая регрессия, случайный лес, градиентный бустинг, наивный Байес, SVM) по метрике ROC AUC. Выведи таблицу сравнения и выбери лучшую модель. Затем выполни тюнинг гиперпараметров лучшей модели.
Пример результата:
from pycaret.classification import *
clf = setup(data=df, target='churn')
best_model = compare_models()
tuned_model = tune_model(best_model)
print(tuned_model)
5. Интерпретация модели с SHAP
Задача: Объяснить, какие признаки влияют на предсказания модели.
Промт:
Построй SHAP-анализ для обученной модели [название] на тестовом наборе данных. Выведи:
- Summary plot (глобальная важность признаков).
- Waterfall plot для 3 случайных наблюдений.
- Интерпретируй результаты: какие признаки вносят наибольший вклад и как они влияют на предсказание.
Пример результата:
Код с использованием библиотеки shap и графиками.
6. Генерация отчетов в формате PDF
Задача: Автоматически создать отчет о результатах анализа в PDF-файл.
Промт:
Создай отчет о результатах анализа датасета [название] в формате PDF с помощью Python. Отчет должен включать:
- Описание датасета (число строк, столбцов, типы).
- Основные статистики для числовых признаков.
- Графики: гистограммы, боксплоты, корреляционная матрица.
- Результаты модели (метрики, confusion matrix).
- Выводы и рекомендации.
Используй библиотеки pandas, matplotlib, seaborn, fpdf или reportlab.
Пример результата:
Код, который генерирует PDF с графиками и текстом.
7. Написание SQL-запросов для анализа
Задача: Получить данные из базы данных с помощью SQL.
Промт:
Представь, что у нас есть таблица sales (id, date, product, category, revenue, quantity). Напиши SQL-запросы для:
- Выручка по категориям за последний месяц.
- Топ-5 продуктов по количеству продаж.
- Средний чек по дням недели.
- Продукты, которые продаются только в определенных городах (добавь таблицу stores).
Объясни каждый запрос.
Пример результата:
SQL-запросы с комментариями.
8. Визуализация с помощью Plotly (интерактивные графики)
Задача: Создать интерактивный дашборд для исследования данных.
Промт:
Создай интерактивный дашборд с помощью Plotly Dash для датасета [название]. Дашборд должен включать:
- Фильтр по категории.
- График временного ряда (если есть дата).
- Гистограмму распределения числового признака.
- Таблицу с основными метриками.
Выведи код и инструкцию по запуску.
Пример результата:
Код приложения Dash с layout и callbacks.
9. Автоматизация ETL-процессов
Задача: Создать скрипт для извлечения, трансформации и загрузки данных.
Промт:
Напиши ETL-скрипт на Python, который:
- Извлекает данные из CSV-файла [source].
- Трансформирует: удаляет пропуски, создает новые признаки (например, age_group, revenue_per_unit).
- Загружает результат в SQLite базу данных [destination].
- Выводит логи выполнения.
Используй библиотеки pandas, sqlite3, logging.
Пример результата:
Код с функциями extract, transform, load.
10. Генерация кода для статистических тестов
Задача: Провести статистический анализ (t-тест, ANOVA, хи-квадрат) и интерпретировать результаты.
Промт:
Проведи статистический тест для сравнения средних двух групп в датасете [название]. Переменная группы: [col], целевая переменная: [col]. Выбери подходящий тест (t-тест Стьюдента или Манна-Уитни) на основе нормальности распределения. Проверь нормальность с помощью теста Шапиро-Уилка. Выведи p-value и сделай вывод о значимости различий.
Пример результата:
Код с использованием scipy.stats и интерпретацией.
11. Создание Telegram-бота для мониторинга моделей
Задача: Уведомления о качестве модели в реальном времени.
Промт:
Создай Telegram-бота на Python (библиотека aiogram), который:
- Принимает команду /metrics.
- Загружает последние метрики модели из CSV-файла.
- Отправляет сообщение с метриками (accuracy, precision, recall, f1).
- При снижении accuracy ниже порога отправляет предупреждение.
Приведи полный код и инструкцию по настройке.
Пример результата:
Код бота с обработчиками.
12. Генерация документации для DS-проекта
Задача: Создать README и описание проекта.
Промт:
Сгенерируй файл README.md для DS-проекта, который включает:
- Название проекта и краткое описание.
- Установку зависимостей (pip install -r requirements.txt).
- Пример использования: как запустить скрипт обучения и инференса.
- Описание структуры репозитория.
- Лицензию.
Используй профессиональный тон.
Пример результата:
Готовый README.md.
13. Объяснение сложных концепций простым языком
Задача: Понять алгоритм или метод через аналогии.
Промт:
Объясни принцип работы градиентного бустинга (XGBoost) простым языком, используя аналогии из жизни. Приведи пример, как он применяется в реальной задаче (например, предсказание оттока клиентов).
Пример результата:
Понятное объяснение с аналогией про команду слабых учеников, которые вместе решают сложную задачу.
14. Написание кода для Docker-образа ML-сервиса
Задача: Упаковать модель в Docker-контейнер.
Промт:
Создай Dockerfile для ML-сервиса на Python с FastAPI. Сервис должен принимать POST-запрос с данными и возвращать предсказание. Включи:
- Установку зависимостей из requirements.txt.
- Копирование файлов модели.
- Запуск uvicorn.
Дополнительно напиши docker-compose.yml для запуска.
Пример результата:
Dockerfile и docker-compose.yml.
15. Автоматическая генерация тестов для кода
Задача: Написать unit-тесты для функций DS.
Промт:
Сгенерируй набор unit-тестов для функции [название функции] из файла [имя файла]. Используй pytest. Покрой случаи: нормальные входные данные, пустые данные, некорректные типы, граничные значения. Приведи примеры.
Пример результата:
Код тестов с assert.
16. Анализ временных рядов с Prophet
Задача: Прогнозирование временного ряда.
Промт:
Используя библиотеку Prophet от Facebook, построй прогноз для временного ряда [данные]. Укажи столбец даты и целевой столбец. Разбей данные на обучающую и тестовую выборки. Обучи модель, сделай прогноз на 30 дней вперед, визуализируй результат с компонентами тренда и сезонности. Оцени качество с помощью MAE и RMSE.
Пример результата:
Код с обучением и графиком.
17. Оптимизация гиперпараметров с Optuna
Задача: Подбор гиперпараметров модели.
Промт:
Используя Optuna, проведи оптимизацию гиперпараметров для случайного леса в задаче классификации. Целевая метрика — ROC AUC. Определи пространство поиска для n_estimators, max_depth, min_samples_split. Проведи 50 trials и выведи лучшие параметры и метрику.
Пример результата:
Код с оптимизацией.
18. Создание отчета о качестве данных
Задача: Проверить качество данных (data quality) и выявить проблемы.
Промт:
Напиши скрипт для проверки качества данных в датасете. Для каждого столбца выведи:
- Процент пропусков.
- Количество уникальных значений.
- Для числовых: минимальное, максимальное, среднее, стандартное отклонение.
- Для категориальных: топ-5 частот.
Оцени общее качество данных и предложи улучшения.
Пример результата:
Код с выводом отчета.
Заключение
Эти промты — лишь отправная точка. Вы можете адаптировать их под свои задачи, комбинировать и расширять. Главное — четко формулировать, что вы хотите получить, и нейросеть станет вашим надежным помощником в мире данных. Попробуйте применить их в следующем проекте — и вы заметите, как ускорится ваша работа. А если у вас есть свои любимые промты, делитесь в комментариях!
Комментарии