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

Вычисляет точность прогнозов модели рекомендателей

Категория: машинное обучение/Оценка

Примечание

Применимо к: машинное обучение Studio (классическая модель)

Это содержимое относится только к Studio (классическая модель). Аналогичные модули перетаскивания были добавлены в конструктор Машинное обучение Azure. Дополнительные сведения см. в статье сравнение двух версий.

Обзор модуля

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

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

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

  • список пользователей, связанных с указанным пользователем;

  • список элементов, связанных с указанным элементом.

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

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

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

Совет

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

Создание подсистемы рекомендаций для приложений .NET с помощью Машинное обучение Azure

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

Модуль рекомендации по оценке сравнивает выходные данные прогнозов с моделью рекомендаций с соответствующими данными «Земля». Например, модуль Matchbox, подающий рекомендации , создает расчетные наборы данных, которые можно проанализировать с помощью рекомендаций Evaluate.

Требования

Для вычисления рекомендаций в качестве входных данных требуются следующие наборы данных.

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

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

Если у вас уже есть набор данных, содержащий тройной рейтинг по элементам, можно применить модуль Split Data (разделение данных ) с помощью параметра рекоммендерсплит , чтобы создать набор данных для обучения и связанный с ним проверочный набор из существующего набора данных.

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

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

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

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

Метрики

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

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

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

  • Первый столбец набора данных содержит идентификаторы пользователей.

  • Второй столбец содержит идентификаторы элементов.

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

Важно!

Чтобы оценка прошла, имена столбцов должны быть User , Item и Rating соответственно.

Оценка рекомендаций сравнивает оценки в наборе знаний «земля» с прогнозируемыми оценками оцененного набора данных и вычисляет среднюю абсолютную ошибку (MAE) и среднюю квадратную ошибку (Корень среднеквадратичной погрешности).

Другие параметры, рекомендованные для Evaluate , не влияют на оценку прогнозов рейтинга.

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

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

  • Первый столбец набора данных должен содержать идентификатор пользователя.

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

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

Другие параметры, рекомендованные для Evaluate , не влияют на оценку рекомендаций по элементам.

Важно!

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

Метод Evaluate рекомендует вычислить среднее нормализованное вычисление со скидкой (ндкг) и возвратить его в выходной набор данных.

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

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

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

  • Все последующие столбцы содержат идентификаторы для прогнозируемых связанных пользователей. Связанные пользователи упорядочиваются по интенсивности реалтионшип (первый связанный пользователь).

  • Для работы с рекомендациями по оценке имена столбцов должны быть User ,, Related User 1 , Related User 2 Related User 3 и т. д.

Совет

На вычисление можно повлиять, задав минимальное число элементов, общих для рассматриваемого пользователя и его связанных пользователей.

Модуль оценки модели рекомендаций вычисляет среднее значение показателя NDCG, основанное на манхэттенском расстоянии (L1 Sim NDCG) и евклидовом расстоянии (L2 Sim NDCG), и возвращает оба значения в выходном наборе данных. Так как нет фактической истинности для связанных пользователей, для вычисления среднего Ндкгса рекомендуется использовать следующую процедуру.

Для каждого рассматриваемого пользователя в оцененном наборе данных:

  1. найдите все элементы в проверочном наборе данных, оцениваемые по рассматриваемому пользователю и интересующему вас связанному пользователю;

  2. Создайте два вектора из рейтинга этих элементов: один для интересующего пользователя и один для соответствующего пользователя.

  3. вычислите эффективность как подобие двух получившихся векторов оценки по манхэттенскому расстоянию (L1) или евклидовому расстоянию (L2);

  4. вычислите значения показателей L1 Sim NDCG и L2 Sim NDCG, используя эффективность всех связанных пользователей.

  5. Среднее значение НДКГ для всех пользователей в оцененном наборе данных.

Другими словами, прибыль вычисляются как подобие (нормализованное манхэттенское или Евклидовойное расстояние) между пользователем, представляющим интерес (запись в первом столбце оцененного набора данных), и данным связанным пользователем (запись в n-ом столбце в наборе данных с показателем). Эта пара пользователей высчитывается с использованием всех элементов, для которых в исходных данных были оценены оба элемента (набор тестов). Затем НДКГ вычисляется путем статистической обработки отдельных прибылей для отдельного пользователя и всех связанных пользователей с использованием логарифмической подсчета. Это значит, что одно значение НДКГ вычисляются для каждого интересующего пользователя (каждая строка в наборе данных, рассчитанных на счет). Полученное значение представляет собой арифметическое среднее по всем пользователям, которые интересны в оцененном наборе данных (т. е. его строках).

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

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

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

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

  • Для работы с рекомендациями по оценке имена столбцов должны быть Item ,, Related Item 1 , Related Item 2 Related Item 3 и т. д.

Совет

На вычисление можно повлиять, задав минимальное число пользователей, общих для рассматриваемого элемента и его связанных элементов.

Оцените рекомендацию вычисляет среднее нормализованное вычисленное значение со скидкой (ндкг), основанное на расстояниях МАНХЭТТЕНСКОЕ (L1 SIM ндкг) и евклидово (на уровне 2 уровня 1), и возвращает оба значения в выходном наборе данных. Так как для связанных элементов нет фактической истинности, оцените рекомендацию вычисляет среднюю ндкгс следующим образом:

Для каждого рассматриваемого элемента в оцененном наборе данных:

  1. найдите всех пользователей в проверочном наборе данных, оценивших рассматриваемый элемент и интересующий вас связанный элемент;

  2. создайте два вектора на основе оценок этих пользователей, по одному для рассматриваемого элемента и интересующего вас связанного элемента;

  3. вычислите эффективность как подобие двух получившихся векторов оценки по манхэттенскому расстоянию (L1) или евклидовому расстоянию (L2);

  4. вычислите значения показателей L1 Sim NDCG и L2 Sim NDCG, используя эффективность всех связанных элементов.

  5. Среднее значение НДКГ по всем интересующим элементам в оцененном наборе данных.

Другими словами, прибыль вычисляются как подобие (нормализованное манхэттенское или Евклидовойное расстояние) между интересующим элементом (записью в первом столбце оцененного набора данных) и данным связанным элементом (запись в n-ом столбце для оцененного набора данных). Получение этой пары элементов вычислено с использованием всех пользователей, которые оценили оба этих элемента в исходных данных (набор тестов). Затем НДКГ вычисляется путем статистической обработки отдельных прибылей для одного интересующего элемента и всех связанных с ним элементов с использованием логарифмической подсчета. Это значит, что для каждого интересующего элемента будет вычисляться одно значение НДКГ (каждая строка в наборе данных с оценками). Полученное значение представляет собой арифметическое среднее по всем интересующим нас элементам в оцененном наборе данных (т. е. его строках).

Таким образом, для оценки модуль оценки рекомендаций должен прогнозировать только связанные элементы с оценкой «Земля» (в наборе данных теста).

Примеры

Примеры использования моделей рекомендаций в Машинное обучение Azure см. в Коллекция решений ии Azure.

Ожидаемые входные данные

Имя Тип Описание
Проверочный набор данных Таблица данных Проверочный набор данных
Оцененный набор данных Таблица данных Оцененный набор данных

Параметры модуля

Имя Диапазон Тип По умолчанию Описание
Минимальное количество элементов, которые должны иметь оценки от обоих пользователей >= 1 Целочисленный тип 2 Укажите минимальное количество элементов, которые должны иметь оценки от обоих пользователей

Это необязательный параметр
Минимальное количество пользователей, оценивших оба элемента >= 1 Целочисленный тип 2 Укажите минимальное количество пользователей, оценивших оба элемента

Это необязательный параметр

Выходные данные

Имя Тип Описание
Метрика Таблица данных Таблица показателей оценки

Исключения

Исключение Описание
Ошибка 0022 Исключение возникает, если количество выбранных столбцов в наборе входных данных не равно ожидаемому числу.
Ошибка 0003 Исключение возникает, если один или несколько входных аргументов имеют значение NULL или пусты.
Ошибка 0017 Исключение возникает, если один или несколько указанных столбцов относятся к типу, который не поддерживается в текущем модуле.
Ошибка 0034 Исключение возникает, если для данной пары "пользователь-элемент" существует более одной оценки.
Ошибка 0018 Исключение возникает, если входной набор данных не является допустимым.
Ошибка 0002 Исключение возникает, если один или несколько параметров не удалось проанализировать или преобразовать из заданного типа в необходимый для целевого метода тип.

Список ошибок, относящихся к модулям студии (классическая версия), см. в разделе машинное обучение коды ошибок.

Список исключений API см. в разделе Машинное обучение REST API коды ошибок.

См. также статью

Совет по обучению Matchbox
Подсистема Score Matchbox