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: Подготовьте файл
Для документов и презентаций
- Следуйте шаблону — если организатор предоставил шаблон, используйте его
- Проверьте формат — сохраните в нужном формате (PDF, PPTX)
- Проверьте читаемость — откройте файл и убедитесь, что всё видно
- Проверьте размер — если превышает лимит, сожмите изображения
Для кода и архивов
- Соберите файлы — все необходимые файлы в одной папке
- Добавьте README — опишите как запустить код
- Укажите зависимости — requirements.txt, package.json
- Проверьте работоспособность — код должен запускаться
- Создайте архив — ZIP или TAR.GZ
- Исключите лишнее — не включайте node_modules, venv, .git
Для ML-решений
- Скачайте sample_submission — из условия задачи
- Изучите формат — колонки, типы данных, разделители
- Сгенерируйте предсказания — из вашей модели
- Проверьте локально — формат, количество строк, типы данных
- Сохраните как CSV — с правильными разделителями (запятая)
Шаг 3: Загрузите файл
Способ 1: Перетаскивание (Drag & Drop)
- Откройте папку с файлом
- Перетащите файл в зону загрузки на странице
- Отпустите, когда зона подсветится
Способ 2: Выбор через диалог
- Нажмите на зону загрузки или кнопку «Выбрать файл»
- В открывшемся окне найдите файл
- Нажмите «Открыть»
После загрузки вы увидите:
- Имя файла
- Размер файла
- Прогресс загрузки (%)
- Статус: «Загружен» или ошибку
Шаг 4: Отправьте решение
- Убедитесь, что файл загружен (статус «Загружен»)
- Нажмите «Отправить»
- Дождитесь результата:
- Ручная проверка — статус «На проверке»
- ML — скор появится через несколько секунд
ML-соревнования: подробно
Как работает автопроверка
1. Вы загружаете CSV с предсказаниями
2. Система валидирует файл (формат, колонки, строки)
3. Сравнивает ваши предсказания с правильными ответами (ground truth)
4. Рассчитывает метрику качества
5. Показывает ваш скор
6. Обновляет позицию в лидерборде
Формат 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, пустые ячейки | Заполните все предсказания |
Как избежать ошибок
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)
- Скачайте sample_submission.csv
- Откройте оба файла в текстовом редакторе
- Сравните:
- Названия колонок (точное совпадение)
- Разделитель (должна быть запятая)
- Количество строк
- Типы данных
- Исправьте и загрузите снова
Низкий скор (ML)
- Проверьте baseline — указан в условии, ваш скор должен быть лучше
- Проверьте формат — возможно, перепутан порядок строк
- Проверьте модель — нет ли переобучения?
- Попробуйте другой подход — другие признаки, алгоритмы
- Изучите форум — возможно, есть подсказки
Файл слишком большой
| Тип файла | Как уменьшить |
|---|---|
| Документы | Сожмите изображения внутри |
| Презентации | Уменьшите качество картинок |
| Архивы | Удалите лишние файлы |
| Изображения | Уменьшите разрешение |
Советы для успеха
Для документов и презентаций
| Совет | Почему важно |
|---|---|
| Используйте шаблон | Соответствие требованиям |
| Проверьте открываемость | Файл должен открываться |
| Называйте понятно | Team_Alpha_Final.pdf, не v3_new_final.pdf |
| Сохраните копию | На случай проблем |
| Соблюдайте объём | 10-15 слайдов, если указано |
Для кода
| Совет | Почему важно |
|---|---|
| Добавьте README | Объясните как запустить |
| Укажите зависимости | requirements.txt обязателен |
| Проверьте запуск | Код должен работать |
| Уберите секреты | Никаких паролей и ключей |
| Исключите мусор | Без node_modules, pycache |
Для ML
| Совет | Почему важно |
|---|---|
| Изучите sample | Точный формат критичен |
| Тестируйте локально | Не тратьте попытки на ошибки формата |
| Используйте CV | Кросс-валидация показывает реальное качество |
| Экономьте попытки | 5 в день — это мало |
| Не переобучайтесь | Публичный ≠ приватный лидерборд |
| Читайте условие | Там часто есть подсказки |
Частые вопросы
В: Можно заменить загруженный файл?
О: Да, если есть ещё попытки. Загрузите новый файл — он заменит предыдущий.
В: Какой максимальный размер файла?
О: Обычно 10-50 МБ. Точный лимит указан в условии задачи.
В: Когда будет результат ручной проверки?
О: Зависит от конкурса — от нескольких часов до нескольких дней. Организатор проверяет каждый файл вручную.
В: Почему мой скор в ML-соревновании низкий?
О: Возможные причины:
- Ошибка в формате файла
- Модель недообучена или переобучена
- Неправильный подход к задаче
Сравните с baseline в условии.
В: Что такое публичный и приватный лидерборд?
О: Публичный — скор на части тестов (видимый). Приватный — на всех тестах (открывается в конце). Финальный результат по приватному.
В: Почему скор на публичном и приватном разный?
О: Это нормально. Если сильно хуже — возможно, вы переобучились на публичный лидерборд.
В: Можно загрузить несколько файлов?
О: Если разрешено настройками — да. Иначе соберите всё в один архив ZIP.
В: Что будет, если закончатся попытки?
О: Больше загружать нельзя. В зачёт пойдёт лучший (или последний) результат в зависимости от настроек.