как вычислить AUC (область под кривой) для оценки системы рекомендаций

Я запутался в вычислении AUC (область под кривой) для оценки результата системы рекомендаций.

Если у нас есть данные перекрестной проверки, такие как (пользователь, продукт, рейтинг). Как выбрать положительную и отрицательную выборку для каждого пользователя для вычисления AUC?

Хорошо ли выбирать продукты для каждого пользователя в наборе данных в качестве положительного образца, а остальные не встречались в наборе данных в качестве отрицательного образца? Я думаю, что таким способом невозможно обнаружить те «настоящие» отрицательные образцы, потому что у пользователя есть шанс понравиться этим продуктам в отрицательных образцах.

4 голоса | спросил Jaming LAM 20 Jam1000000amFri, 20 Jan 2017 09:49:26 +030017 2017, 09:49:26

1 ответ


0

«Кривая ROC отображает отзыв (истинно положительный уровень) против выпадений (ложно положительный показатель) для увеличения размера набора рекомендаций.» Шредер, Тиле и Ленер 2011 (PDF) р>

Как правило, вы будете хранить часть ваших данных в качестве данных тестирования. Для конкретного пользователя вы будете тренироваться (например) на 80% его данных и пытаться предсказать, какие элементы (из всех элементов в вашем наборе данных) он будет демонстрировать для предпочтения, основываясь на оставшихся 20% его данных.

Допустим, вы создаете рекомендацию Top-20. 20 пунктов, которые вы рекомендуете для пользователя, являются положительными, а не рекомендуемые - отрицательными. Истинно позитивные элементы - это элементы, которые вы показали в своем списке Top-N, которые соответствуют тому, что предпочитал пользователь в своем наборе для проведения длительного тестирования. Ложные положительные результаты - это элементы в вашем списке Top-N, которые не соответствуют ее предпочтительным элементам в ее наборе для проведения длительного тестирования. Истинные отрицательные элементы - это те, которые вы не включили в свои рекомендации Top-N, и это те элементы, которые пользователь не имел в своих предпочтительных элементах в своем наборе длительных испытаний. А False Negative - это элементы, которые вы не включили в свои рекомендации Top-N, но соответствуют тому, что предпочитал пользователь в своем наборе для проведения длительного тестирования. Это матрица путаницы. Теперь вы можете варьировать количество рекомендованных вами элементов и рассчитать матрицу путаницы для каждого, рассчитать отзыв и выпадение для каждого и построить ROC.

ответил Dan Jarratt 25 Jpm1000000pmWed, 25 Jan 2017 20:37:40 +030017 2017, 20:37:40

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132