Этот документ является справочником по данным и формату файла решения.
Основной формат исходных данных: CSV с разделителем точка с запятой (;) и двойными кавычками (") для экранирования текстовых полей.
Данные находятся на странице https://ods.ai/competitions/nto25-26-2-individ/dataset/ в виде zip архива "stage1_individual_data"
| Файл | Описание |
|---|---|
train.csv | Обучающая выборка, соответствующая первому хронологическому срезу данных (chunk 1). Содержит полную историю взаимодействий пользователей за этот период, включая прочитанные книги (has_read=1) и книги в списке "на прочтение" (has_read=0). |
test.csv | Тестовая выборка, содержащая взаимодействия из второго хронологического среза (chunk 2). Для каждого пользователя из тестовой выборки здесь представлена только одна пара (user_id, book_id), соответствующая его последнему прочитанному произведению. Важно: в test.csv включены только те пользователи, у которых есть достаточная история в train.csv. |
books.csv | Метаданные книг (автор, год публикации и т.д.). |
users.csv | Метаданные пользователей (пол, возраст). |
genres.csv | Справочник жанров. |
book_genres.csv | Таблица для связи книг и жанров (многие-ко-многим). |
book_descriptions.csv | Текстовые описания книг. Используется для извлечения признаков через TF-IDF и BERT. |
| Поле | Тип | Описание |
|---|---|---|
user_id | int64 | Уникальный идентификатор пользователя. |
book_id | int64 | Уникальный идентификатор книги. |
has_read | int64 | Флаг взаимодействия: 1 - книга прочитана и оценена, 0 - книга добавлена в список "на прочтение" (не оценена). |
rating | float64 | Оценка книги по шкале от 0 до 10. Для записей с has_read=0 значение всегда равно 0 и является заглушкой. |
timestamp | str | Временная метка взаимодействия в формате YYYY-MM-DD HH:MM:SS. |
Важно: В бейзлайне для обучения используются только записи с has_read=1 (книги, которым была поставлена оценка). Записи с has_read=0 исключаются из обучающей выборки. Однако вполне вероятно, что использование записей сhas_read=0 улучшит значение метрики при правильном использовании.
Хронологическое разделение: train.csv представляет собой первый по времени чанк данных (chunk_1), а данные для test.csv и solution.csv взяты из следующего чанка (chunk_2). Это гарантирует отсутствие утечек из будущего.
Фильтрация тестовой выборки: В test.csv попадают не все взаимодействия из chunk_2, а только специально отобранные:
has_read=1.test.csv включаются только те пользователи, у которых есть история в train.csv. Критерий: не менее 1 прочитанной книги (has_read=1) ИЛИ не менее 3 книг в списке "на прочтение" (has_read=0) в файле train.csv. Это гарантирует, что у участников будут исходные данные для всех пользователей из теста.Очистка данных: Из исходного набора данных были удалены аномальные записи, у которых has_read=0, но при этом rating > 0.
| Поле | Тип | Описание |
|---|---|---|
book_id | int64 | Уникальный идентификатор книги (первичный ключ). |
title | str | Название книги. |
author_id | int64 | Уникальный идентификатор автора. |
author_name | str | Имя автора. |
publication_year | int64 | Год публикации. |
language | int64 | Числовой код языка книги. |
avg_rating | float64 | Средняя оценка книги (рассчитана по всем взаимодействиям). |
publisher | int64 | Числовой код издательства. |
| Поле | Тип | Описание |
|---|---|---|
user_id | int64 | Уникальный идентификатор пользователя (первичный ключ). |
gender | int64 | Пол пользователя (1 — мужской, 2 — женский). |
age | int64 | Возраст пользователя. |
| Поле | Тип | Описание |
|---|---|---|
genre_id | int64 | Уникальный идентификатор жанра (первичный ключ). |
genre_name | str | Название жанра. |
books_count | int64 | Общее количество книг в данном жанре. |
| Поле | Тип | Описание |
|---|---|---|
book_id | int64 | Идентификатор книги (внешний ключ к books.csv). |
genre_id | int64 | Идентификатор жанра (внешний ключ к genres.csv). |
| Поле | Тип | Описание |
|---|---|---|
book_id | int64 | Идентификатор книги (внешний ключ к books.csv). |
description | str | Текстовое описание книги. Может содержать пустые значения. |
Примечание: Описания используются для извлечения признаков двумя способами:
DeepPavlov/rubert-base-casedФайл с решением должен быть представлен в формате CSV с разделителем запятая (,). Файл может содержать заголовок, который будет проигнорирован при проверке.
Структура колонок: user_id,book_id,rating_predict
Требования:
user_id, book_id — идентификаторы, соответствующие парам из файла test.csv. Порядок строк в файле решения не важен.rating_predict — предсказанное значение оценки. Вещественное число в диапазоне от 0 до 10. Округлять не требуется. Система автоматически ограничит значения диапазоном [0, 10].test.csv.Пример содержимого submission.csv:
user_id,book_id,rating_predict
150,25357,7.854
150,18,9.102
24995,136814,5.500
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