Рекомендательный механизм хорош настолько, насколько хороши данные, использованные для его подготовки. Преобразование необработанных данных в формат, подходящий для модели, является ключом к получению более персонализированных рекомендаций для конечных пользователей.
В этом посте мы рассмотрим, как подготовить и импортировать Набор данных MovieLens, набор данных, подготовленный исследовательской группой GroupLens в Университете Миннесоты и состоящий из множества пользовательских рейтингов различных фильмов, в Amazon персонализировать через Обработчик данных Amazon SageMaker. [1]
Обзор решения
Amazon Personalize — это управляемый сервис, основным ценным предложением которого является его способность изучать предпочтения пользователей на основе их прошлого поведения и быстро корректировать эти изученные предпочтения с учетом изменения поведения пользователей практически в реальном времени. Чтобы иметь возможность развивать такое понимание пользователей, Amazon Personalize необходимо обучаться на историческом поведении пользователей, чтобы найти закономерности, которые можно обобщить на будущее. В частности, основной тип данных, на основе которых учится Amazon Personalize, — это то, что мы называем набор данных о взаимодействиях, который представляет собой табличный набор данных, состоящий как минимум из трех критических столбцов, userID
, itemID
и timestamp
, представляющий положительное взаимодействие между пользователем и элементом в определенное время. Пользователям Amazon Personalize необходимо загружать данные, содержащие информацию о взаимодействии их собственных клиентов, чтобы модель могла изучить эти поведенческие тенденции. Хотя внутренние алгоритмы Amazon Personalize были выбраны на основе опыта Amazon в области машинного обучения, персонализированная модель не содержит предварительно загруженных каких-либо данных и обучает модели индивидуально для каждого клиента.
Набор данных MovieLens, рассмотренный в этом пошаговом руководстве, не имеет этого формата, поэтому для его подготовки к Amazon Personalize мы используем SageMaker Data Wrangler — специальный инструмент агрегирования и подготовки данных для машинного обучения. Он имеет более 300 предварительно настроенных преобразований данных, а также возможность использования собственного кода для создания пользовательских преобразований в PySpark, SQL и различных библиотеках обработки данных, таких как pandas.
Предпосылки
Во-первых, нам нужно иметь Студия Amazon SageMaker домен настроен. Для получения подробной информации о том, как его настроить, см. Подключение к домену Amazon SageMaker с помощью быстрой настройки.
Кроме того, нам необходимо настройте правильные разрешения через Управление идентификацией и доступом AWS (IAM) для Amazon Personalize и Создатель мудреца Амазонки роли служб, чтобы они могли получить доступ к необходимым функциям.
Вы можете создать новую группу наборов данных Amazon Personalize для использования в этом пошаговом руководстве или используйте существующий.
Наконец, нам нужно скачать разархивируйте набор данных MovieLens и поместите его в Простой сервис хранения Amazon (Amazon S3) ведро.
Запустите SageMaker Data Wrangler из Amazon Personalize
Чтобы начать интеграцию SageMaker Data Wrangler с Amazon Personalize, выполните следующие шаги:
- В консоли Amazon Personalize перейдите к Обзор страница вашей группы набора данных.
- Выберите Импортировать данные взаимодействия, Импортировать пользовательские данныеили Импортировать данные об элементе, в зависимости от типа набора данных (для этого поста мы выбираем Импортировать данные взаимодействия).
- Что касается Метод импорта, наведите на Импортируйте данные с помощью Data Wrangler..
- Выберите Следующая.
- Укажите домен SageMaker, профиль пользователя и роль службы IAM, которые вы создали ранее в рамках предварительных условий.
- Выберите Следующая.
- Продолжайте выполнять шаги по запуску экземпляра SageMaker Data Wrangler.
Настройка среды в первый раз может занять до 5 минут.
Импортируйте необработанные данные в SageMaker Data Wrangler.
При использовании SageMaker Data Wrangler для подготовки и импорта данных мы используем поток данных. А поток данных определяет серию преобразований и анализов данных для их подготовки к созданию модели машинного обучения. Каждый раз, когда мы добавляем шаг в наш поток, SageMaker Data Wrangler выполняет действие над нашими данными, например объединяет их с другим набором данных или удаляет некоторые строки и столбцы.
Для начала давайте импортируем необработанные данные.
- На странице потока данных выберите Даты импорта.
С помощью SageMaker Data Wrangler мы можем импортировать данные из более чем 50 поддерживаемых источников данных.
- Что касается Источники данныхвыберите Amazon S3.
- Выберите набор данных, который вы загрузили в корзину S3.
SageMaker Data Wrangler автоматически отображает предварительный просмотр данных.
- Оставьте настройки по умолчанию и выберите Импортировать.
После импорта данных SageMaker Data Wrangler автоматически проверяет наборы данных и определяет типы данных для всех столбцов на основе их выборки.
- Выберите Поток данных в верхней части Типы данных страницу для просмотра основного потока данных перед переходом к следующему шагу.
Одним из основных преимуществ SageMaker Data Wrangler является возможность запускать предварительный просмотр преобразований для небольшого подмножества данных, прежде чем применять преобразования ко всему набору данных. Чтобы выполнить одно и то же преобразование для нескольких секционированных файлов в Amazon S3, вы можете использовать параметры.
Преобразуйте данные
Чтобы преобразовать данные в SageMaker Data Wrangler, вы добавляете шаг преобразования в поток данных. SageMaker Data Wrangler включает более 300 преобразований, которые вы можете использовать для подготовки данных, включая Столбцы карты для Amazon Personalize трансформировать. Вы можете использовать общие преобразования SageMaker Data Wrangler для устранения таких проблем, как выбросы, проблемы с типами и пропущенные значения, или применить шаги предварительной обработки данных.
Чтобы использовать Amazon Personalize, данные, которые вы предоставили в наборе данных взаимодействий, должны соответствовать вашим схема набора данных. Для нашего механизма рекомендации фильмов предлагаемая схема набора данных взаимодействий включает в себя:
user_id
(Строка)item_id
(Строка)event_type
(Строка)timestamp
(в формате эпохи Unix)
Дополнительную информацию о наборах данных и схемах Amazon Personalize см. Наборы данных и схемы.
Файл Ratings.csv, показанный на последнем шаге предыдущего раздела, включает фильмы с рейтингом от 1 до 5. На основе этого мы хотим создать механизм рекомендации фильмов. Для этого нам необходимо выполнить следующие шаги:
- Измените типы данных столбцов.
- Создайте два типа событий: Нажмите и Смотреть.
- Присвойте всем фильмам рейтинг 2 и выше как Нажмите и фильмы с рейтингом 4 и выше, как Нажмите и Смотреть.
- Брось
ratings
колонка. - Сопоставьте столбцы со схемой набора данных взаимодействий Amazon Personalize.
- Убедитесь, что наша временная метка соответствует времени эпохи Unix.
Обратите внимание, что шаг 3 не требуется для создания модели персонализации. Если мы хотим использовать одну из рекомендаций по оптимизации видео по запросу Amazon Personalize, например Лучшие предложения для вас, Click и Watch будут обязательными типами событий. Однако, если у нас их нет, мы не сможем включить поле типа события (или добавить наши собственные типы событий, такие как необработанные оценки пользователей) и использовать собственный рецепт, такой как Персонализация пользователя. Независимо от того, какой тип системы рекомендаций мы используем, нам необходимо убедиться, что наш набор данных содержит только положительные намерения пользователей. Поэтому какой бы подход вы ни выбрали, вам необходимо отказаться от всех однозвездочных рейтингов (а, возможно, и двухзвездочных).
Теперь давайте воспользуемся SageMaker Data Wrangler для выполнения предыдущих шагов.
- На Поток данных странице выберите первое преобразование, называемое Типы данных.
- Обновите тип для каждого столбца.
- Выберите предварительный просмотр чтобы отразить изменения, затем выберите Обновление ПО.
- Чтобы добавить шаг в поток данных, выберите знак плюса рядом с шагом, для которого вы хотите выполнить преобразование, затем выберите Добавить преобразование.
- Чтобы отфильтровать событие. Нажмите «Из рейтингов фильмов», мы добавляем шаг «Фильтрация данных», чтобы отфильтровать фильмы с рейтингом 2 и выше.
- Добавьте еще один шаг пользовательского преобразования, чтобы добавить новый столбец.
eventType
призывают Нажмите как присвоенное значение. - Выберите предварительный просмотр чтобы просмотреть преобразование, чтобы еще раз убедиться, что результаты соответствуют задуманным, затем выберите Добавить.
- В этом случае мы пишем код PySpark, чтобы добавить столбец с именем
eventType
значение которого будет одинаковым для всех наших фильмов с двумя и пятью звездами:
- Для того, чтобы получить Смотреть событий, повторите предыдущие шаги для фильмов с рейтингом 4 и выше и назначьте Смотреть значение, добавив шаги к Типы данных шаг. Наш код PySpark для этих шагов выглядит следующим образом:
До этого момента поток данных должен выглядеть так, как показано на следующем снимке экрана.
Объединение наборов данных
Поскольку у нас есть два набора данных для событий просмотра и кликов, давайте рассмотрим, как объединить их в один набор данных о взаимодействиях.
- На Поток данных странице выберите знак плюса рядом с Создать событие просмотра , а затем выбрать Объединить.
- Выберите другой последний шаг (Создать событие клика), и это должно автоматически сопоставить (свести) оба набора в объединенный предварительный просмотр.
- Выберите Настроить для предварительного просмотра объединенных наборов данных.
- Добавьте имя шагу.
- Выберите Добавить добавить шаг.
Поток данных теперь выглядит так, как показано на следующем снимке экрана.
- Теперь давайте добавим шаг «Управление столбцами», чтобы удалить исходный столбец рейтинга.
Amazon Personalize имеет имена столбцов по умолчанию для пользователей, элементов и меток времени. Эти имена столбцов по умолчанию: user_id
, item_id
и timestamp
.
- Давайте добавим шаг Transform for Amazon Personalize, чтобы заменить существующие заголовки столбцов заголовками по умолчанию.
- В нашем случае мы также используем
event_type
поле, так что давайте также отобразим его.
На этом этапе преобразование данных завершено, и набор данных взаимодействий готов к следующему шагу.
Далее давайте проверим наши временные метки.
- Мы можем сделать это, добавив шаг пользовательского преобразования. Для этого поста мы выбрали Python (определяемая пользователем функция).
- Выберите временную метку в качестве входного столбца и в качестве выходного создайте новый столбец с именем
readable_timestamp
. - Выберите Питон в качестве режима преобразования и вставьте следующий код для функции Python:
- Выберите предварительный просмотр чтобы просмотреть изменения.
В данном случае мы видим даты 2000-х годов — поскольку MovieLens начал собирать данные в 1996 году, это соответствует ожиданиям. Если мы не выберем Добавить, это преобразование не будет добавлено в наш поток данных.
- Поскольку это была всего лишь проверка работоспособности, вы можете вернуться к потоку данных, выбрав Поток данных в верхнем левом углу.
Наконец, мы добавляем шаг анализа для создания сводного отчета о наборе данных. На этом этапе выполняется анализ для оценки пригодности набора данных для Amazon Personalize.
- Щелкните знак плюса рядом с последним шагом потока данных и выберите Добавить анализ.
- Что касается Тип анализавыберите Отчет о качестве данных и аналитической информации для Amazon Personalize.
- Что касается Тип набора данныхвыберите Взаимодействия.
- Выберите Создавай.
Набор данных MovieLens достаточно чист, поэтому анализ не выявил проблем. Если были выявлены некоторые проблемы, вы можете перебирать набор данных и повторять анализ, пока не сможете их устранить.
Обратите внимание, что анализ по умолчанию выполняется на выборке из 50,000 XNUMX строк.
Импортируйте набор данных в Amazon Personalize.
На этом этапе наши необработанные данные преобразованы, и мы готовы импортировать преобразованный набор данных о взаимодействиях в Amazon Personalize. SageMaker Data Wrangler дает вам возможность экспортировать данные в место в корзине S3. Указать местоположение можно одним из следующих способов:
- Узел назначения – Где SageMaker Data Wrangler хранит данные после их обработки.
- Экспорт в – Экспортирует данные, полученные в результате преобразования, в Amazon S3.
- Экспорт данных – Для небольших наборов данных вы можете быстро экспортировать преобразованные данные.
Для Узел назначения Чтобы экспортировать данные, вы создаете узлы назначения и задание SageMaker Data Wrangler. Создание задания SageMaker Data Wrangler запускает задание SageMaker Processing для экспорта вашего потока. Вы можете выбрать узлы назначения, которые хотите экспортировать после их создания.
- Выберите знак плюса рядом с узлом, представляющим преобразования, которые вы хотите экспортировать.
- Выберите Экспорт в и затем выберите Amazon S3 (через блокнот Jupyter).
Обратите внимание, что мы могли бы также экспортировать данные в Amazon Personalize через блокнот Jupyter, доступный в SageMaker Data Wrangler.
- Что касается Имя набора данных, введите имя, которое будет использоваться в качестве имени папки в корзине S3, указанной в качестве места назначения.
- Вы можете указать тип файла, разделитель полей и метод сжатия.
- При необходимости укажите количество разделов и столбец для разделения.
- Выберите Добавить пункт назначения.
Поток данных должен выглядеть, как показано на следующем снимке экрана.
- Создайте задание для обработки потока данных и сохранения данных в месте назначения (корзине S3), которое мы настроили на предыдущем шаге.
- Введите название задания, затем выберите Настроить задание.
SageMaker Data Wrangler предоставляет возможность настраивать тип экземпляра, количество экземпляров и конфигурацию задания, а также создавать расписание для обработки задания. Инструкции по выбору количества экземпляров см. Создание и использование потока обработчика данных.
Чтобы отслеживать статус задания, перейдите к Аккаунт странице на консоли SageMaker. Обработка В разделе показано количество выполненных и созданных рабочих мест. Вы можете перейти к более подробной информации о выполненной работе.
По завершении задания в указанном месте назначения создается новый файл преобразованных данных.
- Вернитесь в консоль Amazon Personalize и перейдите к группе наборов данных, чтобы импортировать другой набор данных.
- Выберите Импортировать данные взаимодействия.
- Выберите Импортируйте данные непосредственно в наборы данных Amazon Personalize. чтобы импортировать преобразованный набор данных непосредственно из Amazon S3, затем выберите Следующая.
- Определите схему. В этом посте наш набор данных состоит из
user_id
(Строка),item_id
(Строка),event_type
(строка) иtimestamp
(длинные) поля.
На этом этапе вы можете создать рекомендательное видео по запросу или индивидуальное решение. Для этого выполните действия, указанные в Подготовка и импорт данных
Заключение
В этом посте мы описали, как использовать SageMaker Data Wrangler для подготовки образца набора данных для Amazon Personalize. SageMaker Data Wrangler предлагает более Преобразования 300. Эти преобразования и возможность добавлять пользовательские преобразования могут помочь упростить процесс создания качественного набора данных для предложения конечным пользователям гиперперсонализированного контента.
Хотя в этой статье мы рассмотрели только то, как подготовить набор данных о взаимодействиях, вы также можете использовать SageMaker Data Wrangler для подготовки наборов данных о пользователях и элементах. Дополнительную информацию о типах данных, которые можно использовать с Amazon Personalize, см. Наборы данных и схемы.
Если вы новичок в Amazon Personalize или SageMaker Data Wrangler, см. Начните работу с Amazon Personalize or Начните работу с SageMaker Data Wrangler, соответственно. Если у вас есть какие-либо вопросы, связанные с этим постом, задайте их в разделе комментариев.
Об авторах
Майсара Хамдан — архитектор партнерских решений, базирующийся в Атланте, штат Джорджия. Майсара имеет более чем 15-летний опыт создания и проектирования программных приложений и продуктов, подключенных к Интернету вещей, в телекоммуникационной и автомобильной промышленности. В AWS Maysara помогает партнерам развивать свои облачные практики и развивать бизнес. Майсара увлечена новыми технологиями и всегда ищет способы помочь партнерам внедрять инновации и расти.
Эрик Больм — специалист по архитектуре решений в компании AWS, расположенной на восточном побережье США. Он имеет 8-летний опыт разработки различных вариантов использования глубокого обучения и других вариантов использования искусственного интеллекта и специализируется на сценариях использования для персонализации и рекомендаций с помощью AWS.
Рекомендации
[1] Максвелл Харпер и Джозеф А. Констан. 2015. Наборы данных MovieLens: история и контекст. Транзакции ACM в интерактивных интеллектуальных системах (TiiS) 5, 4, статья 19 (декабрь 2015 г.), 19 страниц. DOI=http://dx.doi.org/10.1145/2827872
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/machine-learning/prepare-your-data-for-amazon-personalize-with-amazon-sagemaker-data-wrangler/
- :имеет
- :является
- :нет
- :куда
- $UP
- 000
- 1
- 11
- 12
- 13
- 14
- 15 лет
- 15%
- 160
- 19
- 1996
- 2015
- 50
- 501
- 7
- 8
- 9
- a
- способность
- в состоянии
- О нас
- выше
- доступ
- Учетная запись
- ACM
- Действие
- деятельность
- Добавить
- добавленный
- добавить
- адрес
- Преимущества
- После
- агрегирование
- AI
- варианты использования ИИ
- алгоритмы
- Выравнивает
- Все
- причислены
- Несмотря на то, что
- всегда
- Amazon
- Amazon персонализировать
- Создатель мудреца Амазонки
- Обработчик данных Amazon SageMaker
- Amazon Web Services
- an
- Анализ
- анализ
- и
- Другой
- любой
- Приложения
- Применить
- подхода
- МЫ
- гайд
- AS
- оценить
- назначенный
- At
- автоматически
- автомобильный
- доступен
- AWS
- назад
- основанный
- основа
- BE
- было
- до
- поведение
- Лучшая
- между
- изоферменты печени
- приносить
- строить
- Строительство
- бизнес
- by
- призывают
- под названием
- CAN
- случаев
- случаев
- изменения
- изменения
- проверка
- Выберите
- Выбирая
- выбранный
- нажмите на
- облако
- Побережье
- код
- Сбор
- Column
- Колонки
- как
- Комментарии
- совершение
- полный
- Заполненная
- Конфигурация
- настроить
- подключенный
- состоит
- Консоли
- содержит
- содержание
- контекст
- сходиться
- Основные
- Corner
- может
- Создайте
- создали
- Создающий
- критической
- изготовленный на заказ
- данным
- обработка данных
- Наборы данных
- Финики
- Дата и время
- Декабрь
- глубоко
- глубокое обучение
- По умолчанию
- Определяет
- Спрос
- в зависимости
- описано
- назначение
- подробнее
- развивать
- непосредственно
- дисплеев
- do
- не
- домен
- Dont
- вниз
- Падение
- Опустившись
- каждый
- Ранее
- восток
- Двигатель
- обеспечивать
- Enter
- Весь
- Окружающая среда
- эпоха
- События
- События
- существующий
- ожидаемый
- опыт
- Разведанный
- экспорт
- Izvoz,en
- поле
- Поля
- Файл
- Файлы
- фильтр
- окончательный
- Найдите
- First
- Впервые
- фиксированный
- поток
- фокусируется
- следовать
- после
- следующим образом
- Что касается
- формат
- от
- функция
- функциональные возможности
- Функции
- будущее
- Общие
- ГРУЗИИ
- получить
- получающий
- дает
- хорошо
- группы
- Расти
- Рост
- руководство
- Есть
- he
- Заголовки
- помощь
- помогает
- исторический
- история
- Как
- How To
- Однако
- HTML
- HTTP
- HTTPS
- идентифицированный
- Личность
- if
- Импортировать
- импортирующий
- in
- включают
- включает в себя
- В том числе
- промышленности
- информация
- обновлять
- вход
- размышления
- пример
- интеграции.
- Умный
- предназначенных
- намерение
- взаимодействие
- взаимодействие
- интерактивный
- в нашей внутренней среде,
- в
- КАТО
- вопросы
- IT
- пункты
- ЕГО
- работа
- Джобс
- присоединение
- JPG
- Основные
- Фамилия
- запуск
- УЧИТЬСЯ
- узнали
- изучение
- оставил
- библиотеки
- такое как
- расположение
- Длинное
- посмотреть
- выглядит как
- искать
- ВЗГЛЯДЫ
- машина
- обучение с помощью машины
- Главная
- сделать
- управлять
- управляемого
- карта
- Совпадение
- Максвелл
- просто
- метод
- методы
- минимальный
- Минут
- отсутствующий
- режим
- модель
- Модели
- монитор
- БОЛЕЕ
- кино
- Кино
- перемещение
- с разными
- должен
- имя
- имена
- Откройте
- Необходимость
- необходимый
- потребности
- Новые
- Новые технологии
- следующий
- нет
- узел
- узлы
- ноутбук
- сейчас
- номер
- of
- предлагают
- Предложения
- on
- ONE
- только
- or
- заказ
- оригинал
- Другое
- наши
- внешний
- выходной
- за
- собственный
- страница
- страниц
- панд
- часть
- партнер
- партнеры
- страстный
- мимо
- паттеранами
- Выполнять
- выполняет
- воплощение
- Олицетворять
- Персонализированные
- Выборы
- Часть
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- пожалуйста
- плюс
- Точка
- положительный
- возможно
- После
- практиками
- предпочтения
- подготовка
- Подготовить
- подготовленный
- предпосылки
- предварительный просмотр
- Превью
- предыдущий
- процесс
- Обработанный
- обработка
- Продукция
- Профиль
- предложило
- предложение.
- при условии
- приводит
- Питон
- Вопросы
- САЙТ
- быстро
- вполне
- номинальный
- рейтинг
- рейтинги
- Сырье
- готовый
- рецепт
- Рекомендация
- рекомендаций
- относиться
- отражать
- Несмотря на
- Связанный
- повторять
- замещать
- отчету
- представляющий
- представляет
- обязательный
- исследованиям
- соответственно
- в результате
- Итоги
- возвращают
- обзоре
- правую
- Роли
- роли
- Run
- работает
- sagemaker
- то же
- Пример набора данных
- график
- Раздел
- посмотреть
- Серии
- обслуживание
- Услуги
- набор
- Наборы
- настройки
- должен
- показанный
- Шоу
- подпись
- просто
- небольшой
- So
- Software
- Решение
- Решения
- некоторые
- Источники
- Space
- специалист
- конкретный
- конкретно
- указанный
- Начало
- и политические лидеры
- начинается
- Области
- Статус:
- Шаг
- Шаги
- диск
- магазин
- Хранить данные
- магазины
- упорядочить
- обтекаемый
- строка
- такие
- пригодность
- подходящее
- РЕЗЮМЕ
- Поддержанный
- системы
- взять
- принимает
- технологии
- телеком
- который
- Ассоциация
- Будущее
- их
- Их
- тогда
- Эти
- они
- этой
- те
- три
- Через
- время
- отметка времени
- в
- инструментом
- топ
- к
- Train
- поезда
- Сделки
- Transform
- трансформация
- преобразований
- преобразован
- превращение
- прообразы
- Тенденции
- два
- напишите
- Типы
- понимание
- Объединенный
- США
- Университет
- Юникс
- до
- загружено
- использование
- используемый
- Информация о пользователе
- пользователей
- через
- VALIDATE
- ценностное
- Наши ценности
- разнообразие
- различный
- с помощью
- Видео
- видео по запросу
- Вид
- от
- прохождение
- хотеть
- законопроект
- Смотреть
- Просмотров
- способы
- we
- Web
- веб-сервисы
- ЧТО Ж
- были
- Что
- Что такое
- любой
- который
- чья
- будете
- в
- бы
- записывать
- лет
- Ты
- ВАШЕ
- зефирнет
- ZIP