Выбор столбцов в наборе данных

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

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

Примечание

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

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

Обзор модуля

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

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

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

Использование Select Columns в наборе данных

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

Выбор столбцов по имени

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

  • Фильтрация и поиск

    Выберите параметр по имени .

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

    Чтобы отфильтровать список, введите в поле поиска. Например, если ввести букву w в поле поиска, список будет отфильтрован для отображения имен столбцов, содержащих букву w .

    Выберите столбцы и нажмите кнопку со стрелкой вправо, чтобы переместить выбранные столбцы в список на правой панели.

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

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

  • Использование имен в сочетании с другими правилами

    Выберите параметр с правилами .

    Выберите правило, например отображение столбцов определенного типа данных.

    Затем щелкните отдельные столбцы этого типа по имени, чтобы добавить их в список выбора.

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

    Если набор данных является очень широким, может быть проще использовать индексы или созданные списки имен, а не выбирать столбцы по отдельности. Если вы заранее подготовили список:

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

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

Выбор по типу

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

Параметр Begin with определяет начальную точку и очень важен для понимания результатов.

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

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

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

    При применении нескольких правил каждое условие является аддитивным. Например, предположим, что начинается без столбцов, а затем добавляется правило для получения всех числовых столбцов. В наборе данных «Цена за автомобиль», результатом которого является 16 столбцов. Затем щелкните + знак, чтобы добавить новое условие, и выберите включить все компоненты. Результирующий набор данных включает все числовые столбцы, а также все столбцы функций, включая столбцы строковых функций.

Выбор по индексу столбца

Индекс столбца ссылается на порядок столбцов в исходном наборе данных.

  • Столбцы нумеруются последовательно, начиная с 1.
  • Чтобы получить диапазон столбцов, используйте дефис.
  • Такие спецификации, как 1- или -3 , не разрешены.
  • Дублирующиеся значения индекса (или имена столбцов) не допускаются и могут привести к ошибке.

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

  • 8,1-4,6
  • 1,3-8
  • 1,3-6,4

Окончательный пример не приводит к ошибке. Однако он возвращает единственный экземпляр Column 4 .

Дополнительные советы по работе с индексами столбцов см. в разделе " примеры ".

Изменение порядка столбцов

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

Например, в наборе данных с столбцами col1, col2, Col3 и Col4 можно изменить порядок столбцов и оставить столбец 2, указав один из следующих списков.

  • Col4, Col3, Col1
  • 4,3,1

Примеры

Примеры использования столбцов SELECT в наборе данныхсм. в этих примерах экспериментов в коллекции моделей:

Распространенные сценарии выбора столбцов

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

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

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

    1. Щелкните запустить селектор столбцов.

    2. В параметре начать с выберите все столбцы.

    3. Выберите параметр исключить , выберите тип столбца, а затем выберите строка.

    4. Щелкните знак «плюс» (+), чтобы добавить новое условие.

    5. Выберите параметр исключить , выберите тип столбца, а затем выберите Категория.

  • Мне нужно применить выбор компонентов только к столбцам функций категории.

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

    1. Щелкните запустить селектор столбцов.

    2. В параметре начать с выберите нет столбцов.

    3. Выберите параметр включить и выберите все компоненты.

    4. Щелкните знак «плюс» (+), чтобы добавить новое условие.

    5. Выберите параметр включить , выберите тип столбца, а затем выберите Категория.

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

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

    1. Щелкните запустить селектор столбцов.

    2. В параметре начать с выберите нет столбцов.

    3. Выберите параметр включить , выберите тип столбца, а затем выберите числовой.

    4. Щелкните знак «плюс» (+), чтобы добавить новое условие.

    5. Выберите параметр включить , выберите тип столбца, а затем выберите числовой тип, несовместимый с подчиненной операцией.

  • Слишком много столбцов для выбора с помощью селектора.

    Часто после импорта набора данных вы обнаружите, что у него есть много столбцов, которые не нужны для моделирования. Однако вы хотите сохранить их для последующего вывода или для выявления вариантов. Это можно сделать, разделив набор данных на две части (метаданные и столбцы, используемые для моделирования), а затем при необходимости повторно объединить столбцы с помощью инструкции Add Columns.

    1. Щелкните запустить селектор столбцов.

    2. В параметре начать с выберите нет столбцов.

    3. Выберите параметр включить , выберите тип столбца, а затем выберите компонент.

    4. Щелкните знак «плюс» (+), чтобы добавить новое условие.

    5. Выберите параметр включить , выберите тип столбца, а затем щелкните Метка.

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

  • Я не знал значения индексов для нужных столбцов.

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

    • Индексы в Машинное обучение Azure начинаются с 1, поэтому первый столбец всегда имеет значение 1.

    • Чтобы получить индекс последнего столбца, просмотрите два списка столбцов в селекторе столбцов: доступные столбцы и выбранные столбцы. На серой полосе под списком столбцов отображается количество столбцов в каждом списке. Таким словами, если доступно 24 столбца и выбрано два столбца, то будет всего 26 столбцов, а индекс последнего столбца будет равен 26.

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

    1. Подключите набор данных к модулю выполнить сценарий R .

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

      dataset1 <- maml.mapInputPort(1) # class: data.frame
      mycolnames <-names(dataset1);
      myindex <- seq(from = 1, to = length(mycolnames), by=1);
      outdata <- as.data.frame(cbind(myindex, mycolnames));
      maml.mapOutputPort("outdata"); 
      

    Результаты для набора данных "Цена автомобиля"

    миндекс миколнамес
    1 symboling
    2 Нормализованные — потери
    3 make

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

Если вы знакомы с реляционными базами данных, этот модуль создает проекцию данных. Следовательно, исходное имя, столбцы проекта. В терминах базы данных проекция — это функция, такая как Transact-SQL или Оператор LINQ, которая принимает данные в табличном формате в качестве входных данных и создает связанные выходные данные.

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

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

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

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

Имя Диапазон Тип По умолчанию Описание
Выбор столбцов any Выбор столбцов Выберите столбцы для сохранения прогнозируемого набора данных.

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

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

Исключения

Исключение Описание
Ошибка 0001 Исключение возникает, если не удалось найти один или несколько столбцов указанного набора данных.
Ошибка 0003 Исключение возникает, если один или несколько входных наборов данных имеют значение NULL или пусты.

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

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

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

Оперирование