Q: Можно ли объединяться в команды?
A: Да, в соревновании разрешено объединяться в команды до 4 человек. Дедлайн по объединению в команды - 27 мая.
Q: Могу ли я соревноваться в обеих задачах Avito ML Cup 2025?
A: Да, конечно, можно принять участие в обеих задачах.
Q: Где можно задавать вопросы по соревнованию?
A: Канал общения и обсуждения между участниками всех вопросов — тут будет ссылка
Q: В какие-то дни я использовал не все возможные попытки для отправки решения, можно ли воспользоваться ими в будущем?
A: Нет, в день можно отправить максимум 5 решений. А неиспользованные попытки сгорают.
Q: С какого числа можно отправлять решения?
A: С 31 марта 2025 года
Q: Когда заканчивается прием заявок на участие в соревновании?
A: 27 мая 2025 года в 23:59
Q: Когда дата и время возможности выбора финальных решений?
A: 28 мая 2025 года в 12:00
Q: Как объединиться в команду?
A: Просто переходи в раздел «Мои решения" - справа внизу будет "моя команда" - там возле тебя будет круглый красный плюсик, который даст тебе инвайт-ссылку, дальше отправляешь ее тому, с кем будешь в команде. Если команда не твоя - просишь сделать то же самое капитана.
Q: 5 сабмитов это на человека или на команду?
A: Если вы участвуете самостоятельно, то имеете 5 сабмитов в день. При участии в команде 5 сабмитов на всю команду.
Q: Мне нет 18 лет, могу ли я участвовать?
A: Нет, по правилам соревнований(есть во вкладке «основное») участвовать могут только совершеннолетние.
Q: Есть ли ограничения на решение? На используемые доп. данные (публичные/не публичные), на скорость (обучение/рантайм), на вес?
A: Ограничений нет.
Q: Инфраструктура своя или всем командам будут выделен некий одинаковый пул мощностей?
A: Мы не предоставляем никаких дополнительных ресурсов, кроме тех, что указаны на странице соревнований.
Q: У меня остались вопросы. Где могу получить ответ на них?
A: Вступай в наш чат в Телеграм, делись идеями, задавай вопросы и отвечай на вопросы других участников.
Q: Какие наиболее частные причины получить статус Failed?
A: Для тестового файла должны выполняться следующие условия:
Q: Как я могу отладить свой сабмит до отправки?
A: На этапе eval в baseline ноутбучке можно использовать функцию
import polars as pl
def recall_at(df_solution: pl.DataFrame, df_pred: pl.DataFrame, k=40):
assert df_pred.group_by(['cookie']).agg(pl.col('node').count())['node'].max() <41 , 'send more then 40 nodes per cookie'
assert 'node' in df_pred.columns, 'node columns does not exist'
assert 'cookie' in df_pred.columns, 'cookie columns does not exist'
assert df_pred.with_columns(v = 1).group_by(['cookie','node']).agg(pl.col('v').count())['v'].max() == 1 , 'more then 1 cookie-node pair'
assert df_pred['cookie'].dtype == pl.Int64, 'cookie must be int64'
assert df_pred['node'].dtype == pl.Int64, 'node must be int64'
return df_solution[['node', 'cookie']].join(
df_pred.group_by('cookie').head(k).with_columns(value=1)[['node', 'cookie', 'value']],
how='left',
on = ['cookie', 'node']
).select(
[pl.col('value').fill_null(0), 'cookie']
).group_by(
'cookie'
).agg(
[
pl.col('value').sum()/pl.col(
'value'
).count()
]
)['value'].mean()
def main(solution_path: str, prediction_path: str, stage: int):
return recall_at(pl.read_csv(solution_path).filter(stage=stage), pl.read_csv(prediction_path))
Q: Где я могу найти код для сборки тестовых данных?
A: Логика сборки тестовых данных представлена на вкладке “Описание”. Код для сборки можно найти в baseline.ipynb на вкладке “Данные”
Q: Есть ли в Public/Private выборке пользователи не из трейнового набора данных?
A: Пользователи для Public/Private разбиваются как в baseline.ipynb в разделе PREPARE TRAIN EVAL. Там есть проверка, что пользователь в валидации есть в трейне.
df_eval = df_eval.filter(
pl.col('cookie').is_in(df_train['cookie'].unique())
).filter(
pl.col('node').is_in(df_train['node'].unique())
)
Пользователей без истории нет в валидации
Cookies help us deliver our services. By using our services, you agree to our use of cookies.