Воспроизводимый протокол честной оценки ML-алгоритмов
- text-to-text
(от codex-master )
- text-to-text
Промпт задаёт экспериментальный протокол для справедливого сравнения нескольких алгоритмов на одном датасете. Он покрывает nested CV, метрики, статистические тесты, матрицу принятия решений и артефакты для запуска из командной строки.
В этом промпте 73 строки и 8397 символов
Соблюдай все обязательные требования ниже. Верни только итоговый результат в требуемом формате. Не добавляй вступления, комментарии о процессе, предупреждения, альтернативные версии или просьбы что-либо уточнить. Если часть входных данных отсутствует и исходный промпт допускает рабочие предположения, явно фиксируй их только там, где это прямо требуется. Сохраняй placeholders, JSON, YAML, SQL, код, формулы, названия метрик, пороги, порядок разделов и другие обязательные технические элементы без искажений.
Ниже приведён исходный замысел и обязательные ограничения. Сохрани смысл, полноту и прикладную ценность, но сделай ответ максимально однозначным, компактным и готовым к использованию с первой попытки.
Вы — инженер по оценке моделей. Разработайте детализованный, воспроизводимый экспериментальный протокол для справедливой оценки {num_algorithms} алгоритмов для задачи {problem_type} на датасете размера {dataset_size}. Протокол должен быть готов к немедленному исполнению исследователем или автоматизированной системой и включать все детали от предобработки до статистического вывода и принятия решения. ОРИЕНТИРУЙТЕСЬ НА СЛЕДУЮЩИЙ ФОРМАТ ВЫВОДА (строго):
A. Краткое описание (1–2 предложения)
- Укажите задачу, число алгоритмов и тип/размер датасета (используйте значения {problem_type}, {num_algorithms}, {dataset_size}).
B. Требования к среде и воспроизводимости (параметры, которые нужно зафиксировать)
- Формат данных, разделы/фичи, метки.
- Аппаратное окружение (CPU/GPU тип, память), ПО (ядра библиотек, версии), контейнер/образ (Docker).
- Обязательные артефакты: seed, конфигурационный YAML, список зависимостей (requirements.txt), журналы (logs), сохранённые модели и метрики.
C. Стандартизированная предобработка (пошагово; операции должны быть идемпотентными)
- Очистка: стратегии для пропусков (удаление / импутация с указанием алгоритма и гиперпараметров), выбросы (детекция и правило обработки).
- Кодирование категориальных признаков (one‑hot, target encoding — когда и почему), при необходимости группировка редких категорий.
- Масштабирование/нормализация (какие признаки, метод: StandardScaler/MinMax/Robust, параметры обучать только на тренировочных данных).
- Генерация признаков (если применимо) и правила предотвращения утечки целевой переменной.
- Специальные инструкции для типов данных: временные ряды (временные окна, скользящие признаки), изображения (аугментации), текст (токенизация, стоп‑слова, встраивания).
- Формат итогового набора: CSV/Parquet + схемa (названия и типы столбцов).
D. Разбиение данных и стратегия кросс‑валидации
- Рекомендация по типу CV в зависимости от {problem_type} и {dataset_size} (например, классификация: stratified k‑fold, регрессия: k‑fold, временные ряды: rolling/forward‑chaining, групповые данные: GroupKFold). Укажите значение k и обоснование (например, k=5 при средних/больших датасетах; повторяемость R=5 повторов для устойчивости).
- Обязательное использование вложенной (nested) кросс‑валидации для подбора гиперпараметров: внешние фолды — оценка, внутренние фолды — оптимизация гиперпараметров.
- Правила формирования фолдов (стратификация по целевой переменной, по группам или временным отрезкам). Фиксация seed для генерации фолдов.
- Рекомендации по минимальному числу образцов в каждом фолде (чтобы метрики были значимы).
E. Подбор гиперпараметров и обучение
- Стратегии поиска: grid / random / Bayesian (указать лимит итераций/время), ранняя остановка и критерий.
- Как проводить подбор внутри nested CV (какая метрика оптимизируется, ограничение на вычислительный бюджет).
- Репликация: количество повторов обучения для каждого конфигурации, фиксация seed, сохранение чекпойнтов.
- Базовые контрольные точки: простая baseline‑модель (например, логистическая регрессия / mean predictor) и её обязательная оценка.
F. Комплексные метрики (обязательные помимо {target_metric})
- Основные метрики качества: перечислите минимум 4–6 релевантных метрик помимо {target_metric} с формулами/описанием (напр., для классификации: accuracy, precision, recall, F1, ROC‑AUC, PR‑AUC, calibration/Brier score; для регрессии: RMSE, MAE, R^2, MAPE, сглаженные метрики).
- Метрики надёжности и калибровки: доверительные интервалы, калибровка предсказаний, доверие/uncertainty.
- Метрики эффективности и затрат: время обучения, среднее время инференса на образец (p50/p95), пиковая и средняя память, размер модели на диске, потребление энергии (если возможно), FLOPs (оценка).
- Метрики устойчивости и робастности: чувствительность к шуму/шифрованию, тесты на переносимость (ood).
- Агрегация метрик по фолдам: среднее, медиана, стандартное отклонение, доверительный интервал (обычно 95% CI, бутстрэп или t‑CI).
G. Статистическое тестирование и интерпретация результатов
- Процедура сравнения алгоритмов: выбор парных тестов (например, Wilcoxon signed‑rank для непараметрической оценки, paired t‑test при нормальности) и/или тесты над множественными моделями (Friedman test + post‑hoc Nemenyi). Указать критерии применимости каждого теста.
- Коррекция для множественных сравнений (Bonferroni, Holm) и пороги значимости (обычно α=0.05).
- Оценка размера эффекта (Cohen's d, Cliff's Delta) и практической значимости.
- Рекомендовать бутстрэп‑перестановки (permutation test) для нестандартных распределений и построение доверительных интервалов для разницы метрик.
- Как интерпретировать p‑value вместе с величиной эффекта и доверительными интервалами.
H. Логирование, отчётность и критерии остановки
- Формат отчётов (табличный CSV + JSON конфигураций + графики): per‑fold и агрегированные значения, CI, effect sizes, p‑values.
- Список обязательных графиков: boxplots/violin по фолдам, ROC/PR curves (для классификации), calibration plots, training/validation loss curves, scatter prediction vs truth (для регрессии).
- Критерии ранней остановки эксперимента (например, если baseline лучше всех моделей и/или вычислительный бюджет исчерпан).
I. Шаблон матрицы принятия решений (CSV/TSV) — структура и правила заполнения
- Поля столбцов: algorithm_id, primary_metric_mean, primary_metric_ci_low, primary_metric_ci_high, secondary_metrics (JSON or semicolon list), train_time_sec, infer_time_ms_per_sample, model_size_mb, peak_memory_mb, interpretability_score (0–5), deployment_complexity_score (0–5), robustness_score (0–5), total_weighted_score, comments.
- Правила нормализации и расчёта total_weighted_score: для каждой метрики привести её к [0,1] по заранее заданной направленности (higher_is_better / lower_is_better), умножить на веса (укажите пример весов: performance 0.4, efficiency 0.25, interpretability 0.2, deployment_complexity 0.15), затем суммировать. Укажите как выбирать и обосновывать веса.
- Образец строки CSV (заполненная примерная строка с гипотетическими числами).
- Правила принятия решения: порог для выбора победителя (напр., наивысший total_weighted_score и статистически значимо лучше остальных по primary_metric), или ранжирование с рекомендациями для продакшна/исследования.
J. Пошаговая процедура эксперимента (конкретные шаги, которые можно выполнить из командной строки)
- 1) Подготовка данных: скрипт/preprocessing pipeline.
- 2) Формирование фолдов и сохранение разбиений.
- 3) Определение search space и запуск nested CV.
- 4) Сбор метрик per‑fold и агрегация.
- 5) Выполнение статистических тестов и отчёт.
- 6) Заполнение матрицы принятия решений и финальное ранжирование.
- Для каждого шага укажите ожидаемые входы/выходы (файлы), временные оценки и место для логов.
K. Формат выдачи результата (обязателен)
- Верните результат в виде: 1) детализированный текст протокола (пункты A–J), 2) YAML‑шаблон конфигурации эксперимента (указать поля: dataset_path, seed, k_folds, cv_type, nested_cv: true/false, hyperparameter_search: {method, budget}, metrics: [primary, secondary...], weights: {performance:..., efficiency:...}), 3) CSV‑шаблон для матрицы принятия решений (заголовок столбцов и одна примерная заполненная строка).
- Все числовые рекомендации (k, число повторов, пороги, α, веса) должны быть заполнены конкретными значениями по умолчанию, которые можно изменить пользователем, и сопровождаться кратким обоснованием.
Используйте строгий, пошаговый стиль; избегайте общих фраз без конкретных параметров. Не добавляйте объяснений процесса мышления. Не задавайте вопросов — используйте переданные плейсхолдеры {num_algorithms}, {problem_type}, {dataset_size} непосредственно.
Промпт доступен бесплатно после авторизации.
ChatGPT, Claude, GigaChat, Алиса ИИ, По нейросетям, Типы промптов, Яндекс GPT