Поделиться через


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

Важно!

Поддержка Студии машинного обучения (классической) будет прекращена 31 августа 2024 г. До этой даты рекомендуется перейти на Машинное обучение Azure.

Начиная с 1 декабря 2021 года вы не сможете создавать новые ресурсы Студии машинного обучения (классической). Существующие ресурсы Студии машинного обучения (классическая версия) можно будет использовать до 31 августа 2024 г.

Поддержка документации по ML Studio (классической) прекращается, а сама документация может не обновляться в будущем.

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

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

Примечание

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

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

Обзор модуля

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

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

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

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

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

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

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

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

Совет

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

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

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

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

Требования

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

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

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

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

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

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

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

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

Метрики

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

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

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

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

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

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

Важно!

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

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

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

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

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

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

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

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

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

Важно!

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

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

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

Оценка прогнозов связанных пользователей

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

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

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

  • Для работы с рекомендациями по оценке имена столбцов должны быть User , Related User 1 , Related User 2Related 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 2Related Item 3 , и т. д.

Совет

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

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

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

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

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

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

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

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

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

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

Примеры

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

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

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

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

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

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

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

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

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

Исключения

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

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

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

См. также раздел

Обучение модели рекомендаций Matchbox
Подсистема Score Matchbox