Секционирование и выборка

Создание нескольких секций набора данных на основе выборки

Категория: Преобразование данных/выборка и разбиение

Примечание

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

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

Обзор модуля

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

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

  • Разделение данных на несколько подразделов одного и того же размера.

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

  • Разделение данных на группы и последующее выполнение работы с данными из определенной группы.

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

  • Ресамплинга.

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

  • Создание набора данных меньшего размера для тестирования.

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

Настройка раздела и образца

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

  • Получение наибольшего количества строк

Получить первые N строк из набора данных

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

  1. Добавьте модуль Partition и Sample в эксперимент в студии (классическая модель) и подключите набор данных.

  2. Раздел или режим выборки: установите для этого параметра значение head.

  3. Число строк для выбора: введите число возвращаемых строк.

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

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

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

Создание образца данных

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

  1. Добавьте модуль Partition и Sample в эксперимент в студии (классическая модель) и подключите набор данных.

  2. Раздел или режим выборки: задайте для этого параметра значение выборка.

  3. Частота выборки: введите значение от 0 до 1. Это значение указывает процент строк из исходного набора данных, которые должны быть добавлены в выходной набор данных.

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

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

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

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

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

    Для столбца соотношением Key (выборка) выберите один столбец Strata , который будет использоваться при делении набора данных. Строки в наборе данных делятся следующим образом:

    1. Все входные строки группируются (стратифицированной) по значениям в указанном столбце Strata.

    2. строки перемешиваются внутри каждой группы;

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

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

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

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

    Оставшаяся часть набора данных без выборки не выводится. Тем не менее можно создать соединение с наборами данных с помощью модуля « применение преобразования SQL », чтобы определить, какие строки были неиспользуемыми.

Разбиение данных на секции

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

  1. Добавьте модуль Partition и Sample в эксперимент в студии (классическая модель) и подключите набор данных.

  2. Для раздела или режима выборки выберите назначить для свертывания.

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

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

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

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

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

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

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

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

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

      Сумма всех размеров секций должна составлять до 1.

      • Если ввести числа, размер которых не превышает 1, создается дополнительный раздел для хранения оставшихся строк. Например, если ввести значения 2 и 3, создается третья секция, которая содержит оставшиеся 50 процентов всех строк.

      • Если ввести числа, которые доводят до 1, при запуске эксперимента возникает ошибка.

  7. Стратифицированной Split: Выберите этот параметр, если нужно, чтобы строки стратифицированной при разбиении, а затем выберите столбец Strata.

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

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

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

Использование данных из предопределенной секции

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

  1. Добавьте модуль Partition и Sample в эксперимент в студии (классическая модель).

  2. Подключите его к выходным данным предыдущего экземпляра Partition и Sample. Этот экземпляр должен использовать параметр Assign To fold , чтобы создать некоторое количество секций.

  3. Раздел или режим выборки: выберите пункт выбрать сгиб.

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

    При вводе недопустимого значения индекса возникает ошибка времени разработки: "ошибка 0018: набор данных содержит недопустимые данные".

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

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

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

    Совет

    Этот прием демонстрируется в примере эксперимента, разбиении на секции и образце.

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

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

Примечание

Вы не можете просматривать макеты «сгиб» напрямую; они представлены только в метаданных.

Примеры

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

  • Перекрестная проверка для двоичной классификации: для создания меньшего набора данных с меньшим количеством случайных выборок применяется частота 20%. Исходный набор данных переписи содержал более 30 000 строк; Пример набора данных составляет около 6500.

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

  • Разбиение секций и выборки. демонстрирует несколько способов использования секционирования и выборки. Во-первых, параметр Assign To Parallelisms используется для присвоения строк в наборе данных одной из трех групп с равными размерами. Затем с помощью режима сгиба выборки добавляются еще три экземпляра Partition и Sample , чтобы применить операции к поднаборам данных.

    • В первом выгнути (индекс 1) строки разбиваются случайным образом.
    • Во втором выгнути (индекс 2) строки разбиваются по образованию.
    • В третьем выгнутом (индексе 3) строки разбиваются по возрасту.

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

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

  • Указанный столбец Strata не может содержать непрерывные данные: то есть числовые данные с плавающей запятой в каждой ячейке. В противном случае модуль не сможет обработать данные и вернет ошибку.

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

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

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

Дополнительные сведения о стратифицированной выборки

Выборка стратифицированной гарантирует, что подмножества данных имеют репрезентативную выборку для выбранного столбца Strata. Этот метод полезен, например, если необходимо обеспечить одинаковое распределение значений возраста в обучающих и проверочных данных. Другим примером может служить стратификация по столбцу «Пол» в медицинском исследовании для обеспечения равномерного распределения мужчин и женщин при секционировании данных. Стратификация обеспечивает сохранение соотношений выбранных значений.

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

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

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

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

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

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

Имя Диапазон Тип По умолчанию Описание
Режим секционирования или выборки Список Методы выборки Выборка Выберите режим секционирования или выборки
Использование замены в секционировании Любой Логическое значение Неверно Укажите, должны ли выставляться непересекающиеся (по умолчанию — без замены) или перекрывающиеся (истина — использовать замену).
Случайное разбиение Любой Логическое значение True Укажите, выполняется ли разбиение в случайной последовательности.
Случайное начальное значение Любой Целое число 0 Укажите начальное значение для генератора случайных чисел
Укажите метод секционирования Список Методы секционирования Равномерное секционирование Выберите секционирование равномерно , чтобы разделить на части равного размера, или раздел с настроенными пропорциями , чтобы секционировать в фрагменты настроенного размера.
Укажите число сверток для равномерного разбиения >= 1 Целое число 5 Выберите число секций для разделения
Стратифицированное разбиение Список Тип True/False False Укажите, является ли разбиение стратифицированным.
Ключевой столбец стратификации Любой Выбор столбцов Содержит ключ стратификации.
Список пропорций, разделенный запятыми Любой Строка Список пропорций через запятую.
Стратифицированное разбиения для настраиваемого назначения сверток Любой Тип True/False False Укажите, является ли разбиение стратифицированным для настраиваемых назначений сверток.
Ключевой столбец стратификации для настраиваемых назначений сверткам Любой Выбор столбцов Содержит ключ стратификации для настраиваемых назначений сверткам.
Укажите свертку для выборки >= 1 Целое число 1 Содержит индекс сгиба, который будет выдаваться в выборку
Выбор дополнения указанной свертки Любой Логическое значение Неверно Выберите дополнение указанного сгиба
Частота выборки Любой Float 0,01 Выберите частоту выборки.
Начальное значение случайной последовательности для выборки Любой Целое число 0 Указывает начальное значение для генератора случайных чисел при выборке.
Стратифицированное разбиение для выборки Любой Истина/ложь False Указывает, является ли разбиение для выборки стратифицированным.
Ключевой столбец стратификации для выборки Любой Выбор столбцов Содержит ключ стратификации для выборки.
Количество выбираемых строк >= 0 Целое число 10 Выбор максимального числа записей, которые могут быть переданы в следующий модуль

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

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

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

Выборка и разбиение
Разделение данных
Изменить метаданные
Группирование данных в ячейки