Код Middle Оценка качества обновлено
nDCG@k
Условие
Напишите ndcg_at_k(ranked_rels, k): ranked_rels это оценки релевантности документов в порядке выдачи (0 нерелевантный, больше лучше). DCG@k = Σ rel_i / log2(i + 1) по позициям i от 1 до k. IDCG@k это DCG тех же оценок, отсортированных по убыванию. Верните DCG / IDCG, округлённое до 4 знаков; если IDCG = 0, верните 0.0.
Примеры
ndcg_at_k([3, 2, 1], 3) // 1
ndcg_at_k([1, 2, 3], 3) // 0.79
ndcg_at_k([0, 0, 0], 3) // 0
Как подойти
Подсказки: 1
- Позиция
iс единицы, дисконтlog2(i + 1); в цикле с нуля этоlog2(i + 2).
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.