Участникам необходимо предсказать категорию товаров на основе полученных данных о названиях товаров и их описаний.
Нажимая кнопку «Участвовать» и/или «Отправить решение», вы соглашаетесь с Правилами участия в соревновании Data Fusion Contest 2025.
В этом соревновании вам предстоит разработать алгоритм для автоматической категоризации товаров по их названию и атрибутам, даже в условиях неполной разметки.
Система категорий устроена в виде иерархического дерева (до 5 уровней вложенности), а данные о товарах поступают с множества торговых площадок, что создает ряд сложностей:
В этом соревновании мы предлагаем участникам попробовать свои силы в постановке максимально приближенной к реальной:
Подробнее про данные и их структуру можно узнать на странице “Данные”.
Это контейнерное соревнование:
Решение получает на вход следующие именованные аргументы:
--test_data_path
-i
путь к файлу с тестовыми товарами (например, test.parquet
)--output-path
-o
имя файла, в который вам нужно сохранить результат (например, submit.csv
)Формат выходного файла — .csv
с двумя столбцами:
hash_id
должен содержать предоставленные захэшированные идентификаторы товаров.predicted_cat
должен быть идентификатором категории в соответствии с предоставленным словарем категорий.В архиве должны быть все необходимые для работы модели файлы. Как минимум, в архиве должен быть файл metadata.json
с указанием используемого докер-образа (рекомендуем `odsai/df25-baseline:1.0`
) и строки для запуска вашей модели.
{
"image": "odsai/df25-baseline:1.0",
"entry_point": "python -u run.py"
}
При желании вы можете использовать свой образ, выложив его на https://hub.docker.com. Вебинар о том, как собрать докер.
Решения проверяются автоматически:
Метрика соревнования — HDA (Hierarchical Discounted Accuracy):
$$HDA = \frac{1}{N} \sum_{i=1}^N D(y_{i}, \hat{y}_{i} ) $$
$$ D(y_{i}, \hat{y}_{i} ) = \begin{cases}0 & \text{if $LCA (y_{i}, \hat{y}_{i}) = \emptyset$}\\ \text{$ e^{ - LevelDiff (y_{i}, \hat{y}_{i} ) } $} & \text{$else$}\end{cases}$$
$$ LevelDiff (y_{i}, \hat{y}_{i} ) = max(0, Level(y_{i}) - Level( LCA (y_{i}, \hat{y}_{i} ) ) )$$
$$\text{Где:}$$
$$N \text{ — число товаров},$$
$$y_{i} \text{ — истинные значения категории товара i},$$
$$\hat{y}_{i} \text{ — предсказанные значения категории товара i},$$
$$ Level(y_{i} ) \text{ — уровень класса категории в дереве категорий},$$
$$ LCA(y_{i}, y_{j} ) \text{ — наименьший общий предок между двумя категориями}.$$
Метрика учитывает структуру категорий:
Победители и итоговые результаты определяются по результатам на Private лидерборде.
Для Private лидерборда можно выбрать до 2 финальных решений.
1 место: 1 000 000 рублей
2 место: 600 000 рублей
3 место: 350 000 рублей
Спецноминация 1 — 50 000 рублей
Спецноминация 2 — мерч
Our website uses cookies, including web analytics services. By using the website, you consent to the processing of personal data using cookies. You can find out more about the processing of personal data in the Privacy policy