Создание преобразования счетчиков

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

Категория: обучение с подсчетами

Примечание

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

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

Обзор модуля

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

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

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

Возможность повторного использования и повторного применения функций на основе счетчиков полезна в таких сценариях:

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

Настройка преобразования подсчета сборок

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

Создание функций на основе счетчиков из набора данных

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

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

  3. Параметр число классов используется для указания количества значений в столбце Метка.

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

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

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

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

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

    • BLOB: Выберите этот параметр, если исходные данные, используемые для создания счетчиков, хранятся в виде блочного BLOB-объекта в хранилище Windows Azure.

    • MapReduce: Выберите этот параметр, если требуется вызвать функции Map/reduce для обработки данных.

      Чтобы использовать этот параметр, новые данные должны быть предоставлены в качестве большого двоичного объекта в хранилище Windows Azure, и у вас должен быть доступ к развернутому кластеру HDInsight. При выполнении эксперимента в кластере запускается задание Map/reduce для выполнения инвентаризации.

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

      Дополнительные сведения см. на веб-сайте https://azure.microsoft.com/services/hdinsight/.

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

    • Если вы используете данные из Hadoop или хранилища BLOB-объектов, укажите расположение кластера и учетные данные.
    • Если вы ранее использовали модуль Импорт данных в эксперименте для доступа к данным, необходимо повторно ввести имя учетной записи и учетные данные. Модуль преобразования подсчета сборки обращается к хранилищу данных отдельно, чтобы считать данные и собрать необходимые таблицы.
  8. Для столбца или индекса метки выберите один столбец в качестве столбца метки.

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

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

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

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

    • Dictionary: создает таблицу счетчиков словарей. Все значения в выбранных столбцах рассматриваются как строки и хэшируются с помощью битового массива размером до 31 бита. Поэтому все значения столбцов представляются в виде неотрицательных 32-битных целых чисел.

      Как правило, этот параметр следует использовать для небольших наборов данных (менее 1 ГБ) и использовать параметр кмскетч для больших наборов DataSet.

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

    • Кмскетч: создает таблицу минимального эскиза. При выборе этого варианта для более эффективного использования памяти и снижения шанса конфликтов хэша используются несколько независимых хэш-функций с меньшими диапазонами. Параметры для битового размера и начального значения хэша не влияют на этот параметр.

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

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

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

Объединение счетчиков и функций из нескольких наборов данных

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

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

    • Набор данных. Выберите этот параметр, если новые данные предоставляются в качестве набора данных в машинное обучение Azure Studio (классическая модель).

    • BLOB: Выберите этот параметр, если новые данные предоставляются в виде блочного BLOB-объекта в хранилище Windows Azure.

    • MapReduce: Выберите этот параметр, если требуется вызвать функции Map/reduce для обработки данных.

      Чтобы использовать этот параметр, новые данные должны быть предоставлены в качестве большого двоичного объекта в хранилище Windows Azure, и у вас должен быть доступ к развернутому кластеру HDInsight. При выполнении эксперимента в кластере будет запущено задание Map/reduce для выполнения инвентаризации.

      Дополнительные сведения см. в разделе https://azure.microsoft.com/services/hdinsight/

  3. После указания режима хранения данных укажите дополнительные сведения о подключении для новых данных.

    • Если вы используете данные из Hadoop или хранилища BLOB-объектов, укажите расположение кластера и учетные данные.

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

  4. При объединении счетчиков следующие параметры должны быть в точности одинаковы в обеих таблицах счетчиков:

    • Число классов
    • Биты хэш-функции
    • Начальное значение хэш-функции
    • Выберите столбцы для подсчета

    Столбец меток может отличаться, если он содержит одинаковое число классов.

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

    Совет

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

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

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

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

Примеры

В этих статьях содержатся дополнительные сведения о алгоритме counts и эффективность моделирования на основе подсчета по сравнению с другими методами.

Следующие эксперименты в Коллекция решений ии Azure демонстрируют, как использовать изучение на основе количества для создания различных прогнозных моделей.

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

Со всеми параметрами используются следующие параметры:

Имя Type Диапазон Необязательно Значение по умолчанию Описание
Число классов Целое число >= 2 Обязательно 2 Количество классов для метки.
Биты хэш-функции Целое число [12; 31] Обязательно 20 Число битов диапазона хэш-функции.
Начальное значение хэш-функции Целое число any Обязательно 1 Начальное значение хэш-функции.
Тип модуля Обязательно Набор данных Тип модуля, используемый при формировании таблицы счетчиков.
Тип таблицы счетчиков CountTableType выбрать из списка Обязательно Dictionary Укажите формат таблицы подсчета.

При выборе параметра BLOB-объекта применяются следующие параметры.

Имя Type Диапазон Необязательно Значение по умолчанию Описание
Имя большого двоичного объекта Строка any Обязательно Имя входного большого двоичного объекта. Не включайте имя контейнера.
Имя учетной записи Строка any Обязательно Имя учетной записи хранения.
Ключ учетной записи SecureString any Обязательно Ключ учетной записи хранения.
Имя контейнера Строка any Обязательно Контейнер больших двоичных объектов Azure, содержащий входной большой двоичный объект.
Столбцы счетчиков Строка any Обязательно Отсчитываемый от единицы индексы групп столбцов для выполнения инвентаризации.
Столбец метки Целое число >= 1 Обязательно 1 Отсчитываемый от единицы индекс столбца меток.
Формат BLOB-объекта any Обязательно CSV Формат файлового текста BLOB-объекта.

При использовании MapReduce для создания счетчиков применяются следующие параметры:

Имя Type Диапазон Необязательно Значение по умолчанию Описание
Имя учетной записи хранения по умолчанию Строка any Обязательно нет Имя учетной записи хранения, содержащей входной большой двоичный объект.
Ключ учетной записи хранения по умолчанию SecureString any Обязательно нет Ключ учетной записи хранения, содержащей входной большой двоичный объект.
Имя контейнера по умолчанию Строка any Обязательно нет Имя контейнера больших двоичных объектов для записи таблицы счетчиков.
URI кластера Строка any Обязательно нет Универсальный код ресурса (URI) для кластера HDInsight Hadoop.
Имя пользователя Строка any Обязательно нет Имя пользователя для входа в кластер Hadoop HDInsight.

Следующие параметры определяют формат таблицы Count:

Имя Type Диапазон Необязательно Значение по умолчанию Описание
Тип таблицы счетчиков CountTableType Список Обязательно Dictionary Тип таблицы подсчета.
Индекс или имя столбца меток Выбор столбцов Требуется, если таблица счетчиков сохранена как набор данных нет Выберите столбец Метка.
Выберите столбцы для подсчета Выбор столбцов Требуется, если таблица счетчиков сохранена как набор данных Выберите столбцы для подсчета. Эти столбцы рассматриваются как функции категории категорий.
Глубина схематической таблицы минимума счетчиков Целое число >= 1 Required, если в таблице Count используется формат Кмскетч 4 Глубина таблицы "эскиз диспетчера подключений", которая равна числу хэш-функций.
Ширина схематической таблицы минимума счетчиков Целое число [1; 31] Required, если в таблице Count используется формат Кмскетч 20 Ширина таблицы CM эскиза, которая представляет собой число битов диапазона хэш-функции.
Индекс столбца метки или NameColumn Выбор столбцов Требуется, если таблица счетчиков сохранена как набор данных Выбирает столбец Метка.
Выберите столбцы для подсчета Выбор столбцов Требуется, если таблица счетчиков сохранена как набор данных Выбирает столбцы для подсчета. Эти столбцы рассматриваются как функции категории категорий.
Тип таблицы счетчиков Требуется, если таблица счетчиков сохранена как набор данных Dictionary Указывает тип таблицы подсчета.
Глубина схематической таблицы минимума счетчиков Целое число >= 1 Требуется, если таблица счетчиков сохранена как Кмскетч 4 Глубина таблицы эскизов CM, которая равна числу хэш-функций.
Ширина схематической таблицы минимума счетчиков Целое число [1; 31] Требуется, если таблица счетчиков сохранена как Кмскетч 20 Ширина таблицы CM эскиза, которая представляет собой число битов диапазона хэш-функции.

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

Имя Type Описание
Преобразование подсчета Интерфейс ITransform Преобразование подсчета.

Исключения

Исключение Описание
Ошибка 0003 Исключение возникает, если один или несколько входных аргументов имеют значение NULL или пусты.
Ошибка 0004 Исключение возникает, если параметр меньше или равен определенному значению.
Ошибка 0005 Исключение возникает, если параметр меньше определенного значения.
Ошибка 0007 Исключение возникает, если параметр больше определенного значения.
Ошибка 0009 Исключение возникает, если имя учетной записи хранилища Azure или имя контейнера указаны неверно.
Ошибка 0065 Исключение возникает, если имя большого двоичного объекта Azure указано неправильно.
Ошибка 0011 Исключение возникает, если переданный аргумент набора столбцов не применяется к любому из столбцов набора данных.
Ошибка 0049 Исключение возникает в случае, если не удается выполнить анализ файла.
Ошибка 1000 Внутреннее исключение библиотеки.
Ошибка 0059 Исключение возникает, если не удается проанализировать индекс столбца, указанный в средстве выбора столбцов.
Ошибка 0060 Исключение возникает, если в средстве выбора столбцов указан ряд столбцов вне диапазона.
Ошибка 0089 Исключение возникает, когда указанное количество классов меньше, чем фактическое число классов в наборе данных, используемом для подсчета.

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

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

См. также

Обучение с учетом количества