Группировка категориальных значений

Группирует данные нескольких категорий в новую категорию

Категория: Преобразование или управление данными

Примечание

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

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

Обзор модуля

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

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

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

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

Примечание

Можно создать не более 20 новых уровней, включая уровень по умолчанию. Если вам нужны дополнительные значения или необходимо определить сопоставления динамически, рекомендуется использовать пользовательский скрипт R в модуле выполнить сценарий r . Или используйте инструкции SQL в модуле Apply SQL преобразование .

Использование значений групповых категорий

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

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

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

  3. На панели Свойства для значений групповых категорий Используйте селектор столбцов, чтобы выбрать столбец с уровнями, которые необходимо уменьшить.

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

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

    • Не забудьте удалить из входных столбцов, к которым не следует применять замену строки.

  4. Для режима вывода укажите, требуется ли выводить только новые уровни, или добавьте изменения, чтобы увидеть исходный столбец с заменой рядом друг с другом.

    По умолчанию ресултонли отображает только новые значения. Параметр "заменить" заменяет существующие значения столбцов новыми уровнями.

  5. В поле имя уровня по умолчанию введите строковое значение, которое будет использоваться в качестве замены для всех значений, которые не были явно сопоставлены. Вы можете использовать нечто вроде "Unknown" или "default".

    Примечание

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

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

  7. В качестве имени нового уровня 1 укажите новое имя группы для первой категории.

  8. В текстовом поле, которое следует сразу за списком старых уровней с разделителями-запятыми, сопоставляемых с новым уровнем 1, введите или вставьте полный список всех значений, чтобы сопоставлено с новым уровнем. Подстановочные знаки и регулярные выражения не допускаются.

  9. Продолжайте вводить новые имена уровней, а также вводите или вставляйте значения, которые должны быть сопоставлены с новым уровнем.

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

    Однако при редактировании ранее сохраненного модуля можно вернуться к исходным параметрам.

  10. Запустите эксперимент.

Результаты

Чтобы просмотреть результаты, щелкните правой кнопкой мыши модуль групповые категоризации, выберите пункт набор данных результатов и нажмите кнопку визуализировать.

Примеры

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

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

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

  • Большие модули: шесть цилиндров или больше
  • Небольшие модули: два или четыре цилиндра
  • Другое: все остальное
  1. Добавьте модуль Выбор столбцов в наборе данных и выберите только num-of-cylinders столбец.
  2. Добавьте модуль изменить метаданные и измените num-of-cylinders столбец на Категория.
  3. Добавьте модуль " значения групповых категорий " и подключите измененный набор данных.
  4. В качестве имени уровня по умолчанию введите other . Вам не нужно указывать значения для этого уровня.
  5. В качестве имени нового уровня 1 введите big . В списке старых уровней, сопоставляемых с уровнем 1, вставьте six, eight, twelve .
  6. В качестве имени нового уровня 2 введите small . Для сопоставленных значений вставьте в two, four .
  7. Запустите эксперимент.
  8. При визуализации результатов вы осознаете, что исходный набор данных имеет некоторые нечетные размеры модулей, для которых вы не задали учет, например five и three . Все такие элементы сопоставлены с other уровнем.

Технические примечания

В этом разделе содержатся сведения о реализации, советы и ответы на часто задаваемые вопросы.

  • Может появиться сообщение об ошибке "столбец с именем" <columnname> не входит в разрешенную категорию ".

    Это сообщение указывает на то, что выбранный столбец не является категориальным. Можно пометить столбец как с Categorical помощью команды изменить метаданныеили выбрать другой столбец, содержащий соответствующие значения категорий.

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

Имя Type Описание
Набор данных Таблица данных Данные для группировки

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

Имя Диапазон Тип По умолчанию Описание
Выбранные столбцы any Выбор столбцов CategoricalAll Выберите столбцы, которые будут сгруппированы.
Режим вывода any OutputTo ResultOnly Укажите, как должны выводиться метки категорий.
Имя уровня по умолчанию any Строка Указывает уровень по умолчанию при отсутствии сопоставления.
Новое количество уровней Список Количество групп Укажите количество уровней после группировки значений, включая уровень по умолчанию.

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

Имя Type Описание
Набор данных результатов Таблица данных Сгруппированные данные

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

Управлять
Преобразование данных
Список модулей в алфавитном порядке