Оценка рекомендателя

В этой статье описано, как использовать компонент оценки рекомендателя в конструкторе Машинного обучения Azure. Задачей является измерение точности прогнозов, выполненных моделью рекомендаций. С помощью этого компонента можно оценивать различные виды рекомендаций:

  • Прогнозные оценки для пользователя и элемента
  • Элементы, рекомендуемые для пользователя

При создании прогнозов с использованием модели рекомендаций для каждого из поддерживаемых типов прогнозов возвращаются несколько разные результаты. Компонент оценки рекомендателя определяет тип прогноза на основе формата столбца оцениваемого набора данных. Например, оцениваемый набор может содержать такие данные:

  • Триплеты типа "пользователь — элемент — оценка"
  • Пользователи и рекомендуемые для них элементы

Компонент также применяет соответствующие метрики результативности в зависимости от типа выполняемого прогноза.

Настройка оценки рекомендателя

Компонент оценки рекомендателя оценивает выходные данные прогноза с помощью модели рекомендаций с соответствующими эталонными данными. Например, компонент Оценка рекомендателя SVD формирует оцениваемые наборы данных, которые можно проанализировать с помощью оценки рекомендателя.

Требования

Модуль оценки рекомендателя принимает на вход указанные ниже наборы данных.

Проверочный набор данных

Тестовый набор данных содержит эталонные данные в виде триплетов типа "пользователь — элемент — оценка".

Оцененный набор данных

Оцененный набор данных содержит прогнозы, созданные моделью рекомендаций.

Столбцы в этом втором наборе данных зависят от типа прогноза, который вы выполняли в процессе оценки. Например, оцениваемый набор данных может содержать следующие элементы:

  • Пользователи, элементы и оценки, которые пользователь скорее всего даст элементу
  • Список пользователей и рекомендуемых для них элементов

Метрики

Метрики результативности для модели создаются на основе типа входных данных. Дополнительные сведения приведены в следующих разделах.

Оценка прогнозируемых оценок

При оценке прогнозируемых оценок оцениваемый набор данных (второй входной объект оценки рекомендателя) должен содержать триплеты типа "пользователь — элемент — оценка", которые должны отвечать таким требованиям:

  • Первый столбец набора данных содержит идентификаторы пользователей.
  • Второй столбец содержит идентификаторы элементов.
  • Третий столбец содержит соответствующие оценки для пользователей и элементов.

Важно!

Для надлежащей оценки столбцы должны называться соответственно User, Item и Rating.

Модуль оценки рекомендателя сравнивает оценки в наборе эталонных данных с прогнозными оценками в оцениваемом наборе. Затем вычисляется средняя абсолютная погрешность (САП) и корень среднеквадратической погрешности (КСКП).

Оценка рекомендаций по элементам

При оценке рекомендаций по элементам используйте оцениваемый набор данных, который включает рекомендуемые элементы для каждого пользователя:

  • Первый столбец набора данных должен содержать идентификаторы пользователей.
  • Все последующие столбцы должны содержать идентификаторы соответствующих рекомендуемых элементов, упорядоченных по релевантности элемента для пользователя.

Перед подключением к этому набору рекомендуется отсортировать его, чтобы сначала шли наиболее релевантные элементы.

Важно!

Чтобы оценка рекомендателя сработала, столбцы должны называться User, Item 1, Item 2, Item 3 и т. д.

Оценка рекомендателя вычисляет средний нормализованный дисконтированный прирост и возвращает его в выходном наборе данных.

Поскольку для рекомендованных элементов нет фактических эталонов или экспериментальных данных, модуль оценки модели рекомендаций использует оценки пользователей и элементов в проверочном наборе данных в качестве эффективности при вычислении NDCG. Для проведения оценки компонент оценки модели рекомендаций должен создавать рекомендации только для элементов с эталонными данными (в проверочном наборе данных).

Следующие шаги

Ознакомьтесь с набором доступных компонентов для Машинного обучения Azure.