От сырых данных до инсайтов: 15 промтов, которые превратят нейросеть в вашего DS-ассистента

Вы когда-нибудь тратили часы на очистку данных, которые можно было бы обработать за минуту? Или строили модель, чтобы потом обнаружить, что признаки выбраны неправильно? 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 частот.
Оцени общее качество данных и предложи улучшения.

Пример результата:

Код с выводом отчета.

Заключение

Эти промты — лишь отправная точка. Вы можете адаптировать их под свои задачи, комбинировать и расширять. Главное — четко формулировать, что вы хотите получить, и нейросеть станет вашим надежным помощником в мире данных. Попробуйте применить их в следующем проекте — и вы заметите, как ускорится ваша работа. А если у вас есть свои любимые промты, делитесь в комментариях!

← Все статьи

Комментарии

Читайте также