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


Правка метаданных

Важно!

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

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

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

Служит для редактирования метаданных, связанных со столбцами в наборе данных.

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

Примечание

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

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

Обзор модуля

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

Типичные изменения метаданных могут включать следующее.

  • Обработка логических или числовых столбцов как категориальных

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

  • Пометка столбцов как компонентов

  • Изменение значений даты и времени на числовое значение или наоборот

  • Переименование столбцов

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

После выполнения нужной операции можно сбросить метаданные в исходное состояние.

Настройка изменения метаданных

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

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

    Совет

    Нужна помощь с использованием индексов столбцов? См. раздел Технические примечания .

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

    • Поддерживаются следующие типы данных: String , Integer , Floating point , DateTimeBoolean , и TimeSpan .

    • Если выбрано несколько столбцов, необходимо применить изменения метаданных ко всем выбранным столбцам. Например, предположим, что выбрано 2-3 числовых столбцов. Их можно изменить на тип данных String и переименовать их в одной операции. Однако вы не можете изменить один столбец на строковый тип данных, а другой столбец с числа с плавающей запятой на целое число.

    • Если вы не укажете новый тип данных, метаданные столбца не изменятся.

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

    Примечание

    Если вы измените какой-либо тип числа на тип Дата и время, оставьте поле Формат даты и времени пустым. В настоящее время указать целевой формат данных невозможно.

Машинное обучение может преобразовывать даты в числа или числа в даты, если числа совместимы с одним из поддерживаемых объектов DateTime .net. Дополнительные сведения см. в разделе Технические примечания .

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

    Например, может иметься столбец, содержащий числа 0, 1 и 2, но известно, что числа в действительности означают "АВТОТЕСТ", "non-тест" и "Unknown". В этом случае, помечая столбец как категория, можно гарантировать, что значения не будут использоваться в числовых вычислениях только для группирования данных.

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

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

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

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

    • Weight: Используйте этот параметр с числовыми данными, чтобы указать, что значения столбца представляют весовые коэффициенты для использования в операциях оценки машинного обучения или обучения. В наборе данных может присутствовать только один вес столбца, а столбец должен быть числовым. Этот параметр работает только в следующих моделях: Two-Class логистическая регрессия, Two-Classный Векторный компьютер поддержки и Two-Class нейронной сети.

    Совет

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

    к счастью "Машинное обучение сохраняет все ваши данные, поэтому нет необходимости удалять такие столбцы из набора данных. Если вам нужно выполнить операции с каким-то специальным набором столбцов, просто временно удалите все остальные столбцы с помощью модуля Выбрать столбцы в наборе данных. Позже вы можете объединить столбцы обратно в набор данных с помощью модуля Добавить столбцы.

  3. Используйте следующие параметры, чтобы очистить предыдущий выбор и восстановить метаданные до значений по умолчанию.

    • Очистить функцию: используйте этот параметр, чтобы удалить флажок функции.

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

    • Очистить метку: используйте этот параметр, чтобы удалить метаданные метки из указанного столбца.

    • Очистить счет: используйте этот параметр, чтобы удалить метаданные оценки из указанного столбца.

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

    • Очистить Вес: Используйте этот параметр, чтобы удалить метаданные веса из указанного столбца.

  4. Для новых имен столбцоввведите новое имя выбранного столбца или столбцов.

    • Имена столбцов могут использовать только символы, поддерживаемые кодировкой UTF-8. Пустые строки, значения NULL или имена, полностью состоящие из пробелов, не допускаются.

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

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

    Совет

    Если необходимо переименовать несколько столбцов, можно вставить заранее подготовленную строку с разделителями-запятыми. или используйте модули преобразования « выполнение скрипта R » или « применение SQL ». Код и примеры см. в разделе Технические примечания .

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

Примеры

Примеры использования параметра " изменить метаданные " при подготовке данных и построении моделей см. в Коллекция решений ии Azure:

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

В этом разделе содержатся известные проблемы, часто задаваемые вопросы и некоторые примеры распространенных решений.

Известные проблемы

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

  • Неподдерживаемые типы данных. Следующие числовые типы данных не поддерживаются: Double (десятичное число) и TimeStamp.

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

    dataset <- maml.mapInputPort(1)   
    attr(dataset$x, "label.type")= "True Labels"  
    attr(dataset$y, "feature.channel")= "Multiclass Classification Scores"  
    attr(dataset$y, "score.type")= "Assigned Labels"  
    maml.mapOutputPort("dataset");
    
  • Проблемы с форматами даты и времени. базовым datetime типом данных, используемым Машинное обучение, является POSIXct .

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

    Если попытаться преобразовать столбец в DateTime с помощью модуля редактирования метаданных и получить ошибку, это означает, что дата не соответствует формату, который по умолчанию использует .NET. в этом случае рекомендуется использовать модуль выполнить сценарий R или модуль преобразования «применение SQL » для преобразования столбца в формат, принимаемый синтаксическим анализатором по умолчанию.

    Метод DateTime. Parse

    Строки стандартных форматов даты и времени

Выбор столбцов с помощью индексов столбцов

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

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

  • Введите 1-20 , чтобы выбрать первые 20 столбцов
  • Введите 5-20 , чтобы выбрать диапазон столбцов, начиная с 5 и включая столбец 20.
  • Введите 1,5,10,15 , чтобы выбрать несмежные столбцы
  • Введите 1-2, 5 , чтобы выбрать столбцы 1, 2 и 5, пропуская столбцы 3 и 4
  • Нельзя ввести значение индекса, превышающее число столбцов, доступных в наборе данных.

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

  • Двоичная классификация: обнаружение молочной железы рака. исходные данные содержали много пустых столбцов, созданных во время импорта из электронной таблицы. Лишние столбцы были удалены путем указания столбцов 1-11 в модуле Split Data .

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

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

Альтернативные методы изменения имен столбцов

если требуется переименовать несколько столбцов, можно использовать модуль выполнить сценарий R или модуль преобразования "применить SQL ".

Использование R Script

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

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

irisdata <- maml.mapInputPort(1);    
newnames <- c("CLASS", "SEPAL  LENGTH", "SEPAL WIDTH", "PETAL LENGTH", "PETAL WIDTH");
colnames(irisdata) = newnames
maml.mapOutputPort("irisdata");

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

# Map input dataset to variable
newirisdata <- maml.mapInputPort(1) # class: data.frame
names(newirisdata) <- gsub("col", "iris", names(newirisdata))
maml.mapOutputPort("newirisdata");

Использование SQL

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

SELECT col1 as [C1], 
  col2 as [C2], 
  col3 as [C3], 
  col4 as [C4],
  col5 as [C5] 
FROM t1;

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

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

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

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

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

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

Исключения

Исключение Описание
Ошибка 0003 Исключение возникает, если один или несколько входных наборов данных имеют значение NULL или пусты.
Ошибка 0017 Исключение возникает, если один или несколько указанных столбцов относятся к типу, который не поддерживается в текущем модуле.
Ошибка 0020 Исключение возникает, если количество столбцов в некоторых наборах данных, переданных модулю, слишком мало.
Ошибка 0031 Исключение возникает, если количество столбцов в наборе столбцов меньше, чем требуется.
Ошибка 0027 Исключение возникает, если два объекта должны быть одинакового размера, но это не так.
Ошибка 0028 Исключение возникает в случае, если набор столбцов содержит повторяющиеся имена и это не разрешено.
Ошибка 0037 Исключение возникает, если указано несколько столбцов метки, а допускается только один.

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

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

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

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