[БЕЗ_ЗВУКА] В этом видео мы обсудим оценку качества рекомендаций и будем говорить об оффлайн-метриках, то есть метриках, которые можно посчитать на исторических данных. Как мы могли бы измерить качество? Предположим, что мы прогнозируем оценки, которые пользователи ставят каким-то объектам. Тогда может прийти идея: оценивать качество по среднеквадратичной ошибке или по среднему абсолютному отклонению. Но что нам даёт это качество? Можно ли его как-то проинтерпретировать? В случае товаров в качестве оценки у нас будет выступать единичка, если товар был куплен, нолик, если товар не был куплен. Наверное, будет довольно затруднительно понять, что же значит — среднеквадратичное отклонение равно вот столько. С другой стороны, нам даже и не важно, умеем мы хорошо прогнозировать плохие оценки или не умеем. Главное, чтобы умели хорошо хорошие. Отсюда возникает мысль: возможно, такой подход к оценке качества неправильный? Может быть, нужно оценивать качество так, чтобы был важен только топ по оценкам, только то, что мы действительно будем рекомендовать? Один из вариантов это делать даёт нам метрика Precision@k. В данном случае параметр k будет означать, сколько объектов мы рекомендуем. Допустим, мы порекомендовали k товаров, и какие-то товары купили. Давайте посчитаем, сколько товаров, из того что мы прорекомендовали, было куплено, и поделим это количество на k. Мы можем проделать эту операцию для каждой пользовательской сессии. В каждой сессии что-то могло быть куплено. И затем усреднить Precision@k по всем пользовательским сессиям, получив таким образом усреднённый Precision@k. Эту метрику можно использовать для оценки качества рекомендаций по историческим данным. Другая метрика, которую можно использовать для того же, это Recall@k. В данном случае мы снова смотрим на количество купленных товаров из рекомендованных, но теперь делим уже не на количество рекомендаций k, а делим на количество покупок, которые были совершены пользователями. То есть если Precision@k отвечает на вопрос, какая доля того, что мы прорекомендовали, в среднем покупается пользователями, то Recall@k отвечает на вопрос, какая доля от того, что пользователи покупают в среднем, рекомендуется нами и потом оказывается в покупках. Но в то же время эти метрики смотрят на то, какие товары покупаются, но не на то, сколько денег они приносят. Если же нас интересует доход от продажи товаров, может возникнуть следующая простая идея. Давайте просто взвесим наш Recall@k или Precision@k ценами товаров. Давайте вместо купленного из рекомендованных товаров будем рассматривать стоимость купленного из рекомендованных, а вместо количества покупок будем рассматривать стоимость этих покупок или вместо количества рекомендаций — стоимость прорекомендованных товаров. Итак, мы обсудили с вами, почему может быть не очень хорошей идеей измерять среднеквадратичное отклонение или среднее абсолютное отклонение, решая задачу по рекомендации; познакомились с метриками Precision@k и Recall@k; и обсудили возможность модифицировать эти метрики, учитывая цены товаров.