Codenrock
УчастникНачальный10 мин

FILE: Загрузка файлов

Полное руководство по решению задач с загрузкой файлов и ML-соревнованиям

# FILE: Загрузка файлов FILE-задачи требуют загрузки файла с решением. Используются для презентаций, кода, документов и ML-соревнований с автоматической оценкой. ## Интерфейс FILE-задачи Страница FILE-задачи содержит: | Элемент | Описание | |---------|----------| | **Условие** | Что нужно сделать и загрузить | | **Требования** | Формат, размер, количество файлов | | **Зона загрузки** | Область для перетаскивания или выбора файла | | **Прогресс загрузки** | Полоса загрузки и процент | | **Статус файла** | Имя, размер, состояние | | **Кнопка «Отправить»** | Для отправки решения | | **Счётчик попыток** | «Осталось попыток: X» (если ограничено) | | **Лидерборд** | Рейтинг участников (для ML-задач) | --- ## Типы FILE-задач ### Документы и презентации Загрузка готового документа для ручной проверки. **Форматы**: PDF, DOC, DOCX, PPT, PPTX, ODT **Применение**: - Бизнес-план проекта - Презентация решения - Техническая документация - Отчёт о выполненной работе **Проверка**: Ручная (организатор/жюри) **Результат**: Через несколько часов или дней ### Код и архивы Загрузка исходного кода без автопроверки. **Форматы**: ZIP, RAR, TAR.GZ, 7Z, PY, JS, и др. **Применение**: - Код проекта на хакатоне - Архив с несколькими файлами - Конфигурационные файлы - Прототипы и MVP **Проверка**: Ручная (code review) **Результат**: После проверки организатором ### ML-решения (автопроверка) Загрузка предсказаний модели для автоматической оценки по метрике. **Формат**: CSV **Применение**: - ML-чемпионаты - Data Science соревнования - Kaggle-подобные задачи - Предсказательная аналитика **Проверка**: Автоматическая **Результат**: Мгновенно после загрузки > **Ключевое отличие ML-задач**: Результат виден сразу — система рассчитывает метрику качества (RMSE, Accuracy, F1, AUC-ROC и др.) и показывает ваш скор. ### Изображения и медиа Загрузка графических файлов. **Форматы**: PNG, JPG, JPEG, GIF, SVG, WEBP **Применение**: - Дизайн-макеты - Скриншоты решения - Диаграммы и схемы - Визуализации данных --- ## Пошаговое прохождение ### Шаг 1: Изучите требования Перед подготовкой файла **внимательно** проверьте: | Параметр | Что проверить | Где искать | |----------|---------------|------------| | **Формат** | Какие типы файлов принимаются | В условии: «PDF, PPTX» | | **Размер** | Максимальный размер файла | В условии: «до 50 МБ» | | **Количество** | Один файл или несколько | В интерфейсе загрузки | | **Содержимое** | Что должно быть в файле | В условии задачи | | **Структура** | Для CSV — колонки, формат | В sample_submission | ### Шаг 2: Подготовьте файл #### Для документов и презентаций 1. **Следуйте шаблону** — если организатор предоставил шаблон, используйте его 2. **Проверьте формат** — сохраните в нужном формате (PDF, PPTX) 3. **Проверьте читаемость** — откройте файл и убедитесь, что всё видно 4. **Проверьте размер** — если превышает лимит, сожмите изображения #### Для кода и архивов 1. **Соберите файлы** — все необходимые файлы в одной папке 2. **Добавьте README** — опишите как запустить код 3. **Укажите зависимости** — requirements.txt, package.json 4. **Проверьте работоспособность** — код должен запускаться 5. **Создайте архив** — ZIP или TAR.GZ 6. **Исключите лишнее** — не включайте node_modules, venv, .git #### Для ML-решений 1. **Скачайте sample_submission** — из условия задачи 2. **Изучите формат** — колонки, типы данных, разделители 3. **Сгенерируйте предсказания** — из вашей модели 4. **Проверьте локально** — формат, количество строк, типы данных 5. **Сохраните как CSV** — с правильными разделителями (запятая) ### Шаг 3: Загрузите файл **Способ 1: Перетаскивание (Drag & Drop)** 1. Откройте папку с файлом 2. Перетащите файл в зону загрузки на странице 3. Отпустите, когда зона подсветится **Способ 2: Выбор через диалог** 1. Нажмите на зону загрузки или кнопку «Выбрать файл» 2. В открывшемся окне найдите файл 3. Нажмите «Открыть» **После загрузки вы увидите:** - Имя файла - Размер файла - Прогресс загрузки (%) - Статус: «Загружен» или ошибку ### Шаг 4: Отправьте решение 1. Убедитесь, что файл загружен (статус «Загружен») 2. Нажмите **«Отправить»** 3. Дождитесь результата: - **Ручная проверка** — статус «На проверке» - **ML** — скор появится через несколько секунд --- ## ML-соревнования: подробно ### Как работает автопроверка ``` 1. Вы загружаете CSV с предсказаниями 2. Система валидирует файл (формат, колонки, строки) 3. Сравнивает ваши предсказания с правильными ответами (ground truth) 4. Рассчитывает метрику качества 5. Показывает ваш скор 6. Обновляет позицию в лидерборде ``` ### Формат CSV-файла **Стандартная структура:** ```csv id,prediction 1,0.75 2,0.23 3,0.91 4,0.44 5,0.18 ``` | Колонка | Описание | Пример | |---------|----------|--------| | `id` | Идентификатор объекта из test.csv | 1, 2, 3... | | `prediction` | Ваше предсказание | 0.75, 1, "cat" | > **Важно**: Скачайте **sample_submission.csv** из условия и следуйте его формату ТОЧНО — колонки, порядок, типы данных. ### Метрики качества В зависимости от типа задачи используются разные метрики: **Для регрессии** (предсказание числа): | Метрика | Описание | Направление | |---------|----------|-------------| | **RMSE** | Root Mean Square Error | Меньше лучше | | **MAE** | Mean Absolute Error | Меньше лучше | | **R²** | Коэффициент детерминации | Больше лучше | **Для классификации** (предсказание класса): | Метрика | Описание | Направление | |---------|----------|-------------| | **Accuracy** | Доля правильных | Больше лучше | | **F1** | F1-мера | Больше лучше | | **AUC-ROC** | Площадь под ROC-кривой | Больше лучше | | **Log Loss** | Логарифмическая функция потерь | Меньше лучше | ### Лидерборд **Публичный лидерборд** — показывает скор на части тестовой выборки (обычно 30%). Виден всем во время соревнования. **Приватный лидерборд** — скор на полной выборке. Открывается после окончания соревнования. Это финальный результат. > **Почему так?** Чтобы предотвратить переобучение на публичных тестах. Участники, которые «подгоняют» модель под публичный лидерборд, часто падают в приватном. ### Типичный workflow ML-соревнования ``` 1. Скачайте данные (train.csv, test.csv, sample_submission.csv) 2. Изучите данные и условие 3. Обучите базовую модель (baseline) 4. Сгенерируйте предсказания для test.csv 5. Загрузите submission и посмотрите скор 6. Улучшайте модель, повторяйте 4-5 7. Следите за лимитом попыток! ``` --- ## Попытки и лимиты ### Ограничение попыток | Тип | Описание | Стратегия | |-----|----------|-----------| | **1 попытка** | Финальная загрузка | Тщательно проверьте файл | | **N попыток** | Можно улучшать | Используйте с умом | | **Без ограничений** | Загружайте сколько нужно | Обычно обучающие задачи | ### Лимит в день (для ML) В ML-соревнованиях часто ограничено количество попыток **в день**: **Пример**: 5 попыток в день **Зачем:** - Предотвратить переобучение на тестовой выборке - Уравнять шансы участников - Стимулировать обдуманные решения **Советы:** - Тестируйте локально перед загрузкой - Используйте кросс-валидацию - Не тратьте попытки на проверку формата ### Учёт результата | Режим | Описание | |-------|----------| | **Лучший** | В зачёт идёт лучший скор из всех попыток | | **Последний** | В зачёт идёт последняя загрузка | | **Выбор участника** | Вы сами выбираете финальный submission | Режим указан в условии задачи. --- ## Статусы решения ### Для ручной проверки | Статус | Значение | Что делать | |--------|----------|------------| | ⏳ **Загружается** | Файл передаётся на сервер | Подождите | | 📤 **Загружен** | Файл на сервере | Нажмите «Отправить» | | 🔍 **На проверке** | Ожидает проверки | Ждите результата | | ✅ **Проверено** | Организатор выставил оценку | Смотрите баллы | | ✅ **Принято** | Решение засчитано | Готово! | | ❌ **Отклонено** | Решение не принято | Читайте комментарий | ### Для ML с автопроверкой | Статус | Значение | Что делать | |--------|----------|------------| | ⏳ **Загружается** | Файл передаётся | Подождите | | ⚙️ **Обработка** | Система проверяет | Несколько секунд | | ✅ **Успешно** | Скор рассчитан | Смотрите результат | | ❌ **Ошибка формата** | Неверная структура | Исправьте файл | | ❌ **Ошибка валидации** | Проблема с данными | Проверьте содержимое | --- ## Частые ошибки в ML-задачах ### Ошибки формата CSV | Ошибка | Причина | Решение | |--------|---------|---------| | **Неверный разделитель** | Используется `;` вместо `,` | Пересохраните с запятыми | | **Неверные колонки** | Названия не совпадают | Скопируйте из sample_submission | | **Пропущенные строки** | Не все id есть в файле | Добавьте предсказания для всех | | **Лишние строки** | Больше строк, чем в test | Удалите лишние | | **Неверный тип данных** | Текст вместо числа | Проверьте тип prediction | | **Пустые значения** | NaN, пустые ячейки | Заполните все предсказания | ### Как избежать ошибок ```python import pandas as pd # Загрузите sample sample = pd.read_csv('sample_submission.csv') # Проверьте формат print(sample.head()) print(sample.dtypes) print(len(sample)) # Создайте свой submission в том же формате submission = sample.copy() submission['prediction'] = your_predictions # Проверьте перед сохранением assert len(submission) == len(sample) assert list(submission.columns) == list(sample.columns) # Сохраните submission.to_csv('my_submission.csv', index=False) ``` --- ## Проблемы и решения ### Файл не загружается | Проблема | Решение | |----------|---------| | «Неверный формат» | Проверьте расширение файла | | «Файл слишком большой» | Сожмите или разделите | | Загрузка зависла | Обновите страницу, попробуйте снова | | Кнопка неактивна | Убедитесь, что файл загружен | ### Ошибка формата (ML) 1. Скачайте **sample_submission.csv** 2. Откройте оба файла в текстовом редакторе 3. Сравните: - Названия колонок (точное совпадение) - Разделитель (должна быть запятая) - Количество строк - Типы данных 4. Исправьте и загрузите снова ### Низкий скор (ML) 1. **Проверьте baseline** — указан в условии, ваш скор должен быть лучше 2. **Проверьте формат** — возможно, перепутан порядок строк 3. **Проверьте модель** — нет ли переобучения? 4. **Попробуйте другой подход** — другие признаки, алгоритмы 5. **Изучите форум** — возможно, есть подсказки ### Файл слишком большой | Тип файла | Как уменьшить | |-----------|---------------| | Документы | Сожмите изображения внутри | | Презентации | Уменьшите качество картинок | | Архивы | Удалите лишние файлы | | Изображения | Уменьшите разрешение | --- ## Советы для успеха ### Для документов и презентаций | Совет | Почему важно | |-------|--------------| | **Используйте шаблон** | Соответствие требованиям | | **Проверьте открываемость** | Файл должен открываться | | **Называйте понятно** | `Team_Alpha_Final.pdf`, не `v3_new_final.pdf` | | **Сохраните копию** | На случай проблем | | **Соблюдайте объём** | 10-15 слайдов, если указано | ### Для кода | Совет | Почему важно | |-------|--------------| | **Добавьте README** | Объясните как запустить | | **Укажите зависимости** | requirements.txt обязателен | | **Проверьте запуск** | Код должен работать | | **Уберите секреты** | Никаких паролей и ключей | | **Исключите мусор** | Без node_modules, __pycache__ | ### Для ML | Совет | Почему важно | |-------|--------------| | **Изучите sample** | Точный формат критичен | | **Тестируйте локально** | Не тратьте попытки на ошибки формата | | **Используйте CV** | Кросс-валидация показывает реальное качество | | **Экономьте попытки** | 5 в день — это мало | | **Не переобучайтесь** | Публичный ≠ приватный лидерборд | | **Читайте условие** | Там часто есть подсказки | --- ## Частые вопросы **В: Можно заменить загруженный файл?** О: Да, если есть ещё попытки. Загрузите новый файл — он заменит предыдущий. **В: Какой максимальный размер файла?** О: Обычно 10-50 МБ. Точный лимит указан в условии задачи. **В: Когда будет результат ручной проверки?** О: Зависит от конкурса — от нескольких часов до нескольких дней. Организатор проверяет каждый файл вручную. **В: Почему мой скор в ML-соревновании низкий?** О: Возможные причины: 1. Ошибка в формате файла 2. Модель недообучена или переобучена 3. Неправильный подход к задаче Сравните с baseline в условии. **В: Что такое публичный и приватный лидерборд?** О: Публичный — скор на части тестов (видимый). Приватный — на всех тестах (открывается в конце). Финальный результат по приватному. **В: Почему скор на публичном и приватном разный?** О: Это нормально. Если сильно хуже — возможно, вы переобучились на публичный лидерборд. **В: Можно загрузить несколько файлов?** О: Если разрешено настройками — да. Иначе соберите всё в один архив ZIP. **В: Что будет, если закончатся попытки?** О: Больше загружать нельзя. В зачёт пойдёт лучший (или последний) результат в зависимости от настроек. --- ## Связанные статьи - [Обзор типов задач](/docs/participant/tasks/overview) - [CODING: Программирование](/docs/participant/tasks/coding-tasks) - [TEXT: Текстовые задачи](/docs/participant/tasks/text-tasks) - [TEST: Тестовые задачи](/docs/participant/tasks/test-tasks)
Последнее обновление: 20.08.2026
К оглавлению