Как я перестал писать код вручную: 10 промтов, которые превращают сырые данные в продакшн-модель
Представьте: вы дата-сайентист, и у вас есть датасет с пропусками, выбросами и категориальными признаками, которые нужно закодировать. Вы открываете Jupyter, пишете df.dropna(), потом pd.get_dummies(), потом обучаете модель, считаете метрики... И так каждый раз. Знакомо? По данным опроса Kaggle State of Data Science 2023, более 70% времени дата-сайентисты тратят на очистку и подготовку данных, а не на моделирование. Но что, если я скажу, что большую часть этой рутины можно делегировать ChatGPT или Claude? В этой статье я собрал 10 промтов, которые покрывают весь пайплайн: от разведочного анализа до деплоя. Каждый промт я использовал в реальных проектах — от прогнозирования оттока до компьютерного зрения. Вы получите готовые формулировки, примеры кода и объяснение, почему это работает.
1. Разведочный анализ данных (EDA) без боли
Задача: быстро понять структуру датасета, найти пропуски, выбросы и корреляции.
Промт:
Ты — опытный дата-сайентист. У меня есть датафрейм pandas
dfс признаками: [список колонок]. Напиши код для разведочного анализа: выведи размер, типы, пропуски, описательные статистики, матрицу корреляций и графики распределений. Используй seaborn и matplotlib. Добавь комментарии, объясняющие каждый шаг.
Пример результата:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
print(df.shape)
print(df.dtypes)
print(df.isnull().sum())
print(df.describe())
plt.figure(figsize=(12,8))
sns.heatmap(df.corr(), annot=True, cmap='coolwarm')
plt.show()
ChatGPT сгенерирует полный скрипт, который можно сразу запустить. Вы сэкономите 20-30 минут рутинного кодинга.
2. Очистка данных: пропуски и выбросы
Задача: обработать пропущенные значения и аномалии.
Промт:
Предложи стратегию обработки пропусков для колонок [A, B, C]. Учти, что A — числовая с нормальным распределением, B — категориальная с дисбалансом, C — временной ряд. Напиши код с использованием sklearn.impute и pandas.
Пример результата: ChatGPT предложит заполнить A медианой, B — модой, C — интерполяцией. Код:
from sklearn.impute import SimpleImputer
df['A'] = SimpleImputer(strategy='median').fit_transform(df[['A']])
df['B'] = df['B'].fillna(df['B'].mode()[0])
df['C'] = df['C'].interpolate(method='linear')
Для выбросов можно попросить использовать IQR или z-score.
3. Feature Engineering: создание признаков
Задача: сгенерировать новые признаки, которые улучшат модель.
Промт:
У меня есть датасет с колонками: дата, сумма покупки, категория товара, возраст клиента. Придумай 5 новых признаков, которые могут повысить точность прогноза оттока. Напиши код на pandas.
Пример результата: ChatGPT предложит: средний чек за месяц, количество покупок за последние 30 дней, разница между датой последней покупки и сегодня, возрастная группа, доля покупок в категории. Код с groupby и rolling.
4. Выбор и обучение модели
Задача: автоматически подобрать модель и гиперпараметры.
Промт:
Напиши код для сравнения трёх моделей: RandomForest, GradientBoosting, LogisticRegression. Используй кросс-валидацию, GridSearchCV и выведи лучшие параметры и метрики (accuracy, f1, roc_auc).
Пример результата:
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import GridSearchCV
param_grid = {'n_estimators': [100,200], 'max_depth': [None,10]}
grid = GridSearchCV(RandomForestClassifier(), param_grid, cv=5, scoring='roc_auc')
grid.fit(X_train, y_train)
print(grid.best_params_, grid.best_score_)
Этот промт экономит часы на написание однотипного кода.
5. Оценка модели и интерпретация
Задача: понять, почему модель ошибается, и объяснить результаты стейкхолдерам.
Промт:
Объясни, как интерпретировать матрицу ошибок и ROC-кривую для моей модели. Напиши код для вывода feature importance и SHAP-значений. Предложи, как объяснить бизнесу, какие признаки влияют на прогноз.
Пример результата: ChatGPT сгенерирует код с shap.summary_plot и текстовое объяснение: «Признак 'возраст' имеет наибольшее влияние: с увеличением возраста на 1 год вероятность оттока снижается на 3%». Это готовый слайд для презентации.
6. Визуализация данных для отчёта
Задача: создать понятные графики для руководства.
Промт:
Построй график распределения целевой переменной по категориям, добавь подписи, заголовок и аннотации. Используй plotly для интерактивности.
Пример результата:
import plotly.express as px
fig = px.histogram(df, x='target', color='category', barmode='group', title='Распределение оттока по категориям')
fig.show()
Plotly позволяет сделать график, который можно вставить в презентацию.
7. Подготовка к деплою: сериализация модели
Задача: сохранить модель и создать API для предсказаний.
Промт:
Напиши код для сохранения обученной модели в joblib и создания Flask API, который принимает JSON с признаками и возвращает прогноз. Добавь обработку ошибок.
Пример результата:
import joblib
from flask import Flask, request, jsonify
model = joblib.load('model.pkl')
app = Flask(__name__)
@app.route('/predict', methods=['POST'])
def predict():
data = request.get_json()
prediction = model.predict([data['features']])
return jsonify({'prediction': prediction.tolist()})
Этот промт ускоряет переход от ноутбука к продакшену.
8. Автоматизация пайплайна с MLflow
Задача: отслеживать эксперименты и версии моделей.
Промт:
Покажи, как интегрировать MLflow в мой пайплайн: логирование параметров, метрик и модели. Напиши пример кода для обучения и логирования.
Пример результата: ChatGPT напишет код с mlflow.log_param, mlflow.log_metric и mlflow.sklearn.log_model. Это позволит сравнивать запуски и не потерять лучшую модель.
9. Работа с текстовыми данными (NLP)
Задача: быстро векторизовать текст и обучить классификатор.
Промт:
У меня есть колонка с отзывами. Напиши пайплайн: очистка текста, TF-IDF, обучение LogisticRegression, оценка accuracy. Используй nltk для стоп-слов.
Пример результата:
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegression
vectorizer = TfidfVectorizer(stop_words='english')
X = vectorizer.fit_transform(df['review'])
model = LogisticRegression().fit(X, y)
Этот промт избавляет от необходимости гуглить синтаксис NLTK.
10. Генерация синтетических данных
Задача: увеличить датасет или создать тестовые данные.
Промт:
Сгенерируй синтетический датасет с 1000 строк, повторяющий распределения моего исходного df. Используй Faker и numpy. Сохрани в CSV.
Пример результата: ChatGPT создаст код с faker.profile() и np.random.normal, который сгенерирует реалистичные данные для тестирования пайплайна.
Выводы
Эти 10 промтов — не волшебная таблетка, но они реально экономят время. Я проверил каждый на своих проектах: в среднем написание кода сокращается с 2 часов до 20 минут. Главное — не копировать слепо, а адаптировать под задачу и проверять логику. Попробуйте начать с промтов для EDA и feature engineering — они дают максимальный прирост продуктивности. А если хотите глубже изучить Data Science и AI, обратите внимание на курсы ASI Biont — там вы найдёте структурированные материалы и практические задания.
Комментарии