Conversation
| { | ||
| "data": { | ||
| "text/plain": [ | ||
| "0.0034842071949627938" |
There was a problem hiding this comment.
Как можно улучшить качество кода?
Назовите примеры того как можно увеличить метрику с использованием дополнительных данных.
Что можете сказать про получившуюся метрику map@10 ?
There was a problem hiding this comment.
Как можно улучшить качество кода?
Обернуть код создания разреженных матриц в функцию. Или вообще создать класс Dataset, в конструктор передавать датафрейм и дату для разбиения на трейн и тест; сразу разделять на трейн и тест и создавать матрицы, которые записывать в атрибуты созданного объекта класса Dataset.
Назовите примеры того как можно увеличить метрику с использованием дополнительных данных.
- Если доступны данные лайков, то использовать их вместо процентного времени просмотра, потому что это явное указание релевантности для пользователя. Или использовать взвешенную комбинацию налиция/отсутствия лайка и процента времени просмотра - предполагая, что если пользователь не поставил лайк, но время просмотра большое (скажем, близко к 100%), то контент оказался релевантным.
- Векторизовать метаданные об объектах; взять наиболее популярный объект для данного пользователя (по суммарному времени просмотра) и найти топ 10 схожих с ним векторов
- Векторизовать данные о пользователях, найти для данного пользователя наиболее близкого к нему в векторном пространстве и порекомендовать топ объектов от этого похожего пользователя (фильтруя те, с которым пользователь уже взаимодействовал)
Что можете сказать про получившуюся метрику map@10 ?
Значение метрики низкое. Значение в районе 0.1 означало бы что первый объект из предсказанных, как правило, оказывается релевантным. По полученному значению 0.00348 можно сделать вывод, что лишь некоторые объекты в рекомендациях оказываются релевантными.
Привет. Тут ноутбук с выполненным тестовым заданием.