Преобразование данных — обучение с помощью счетчиков

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

Примечание

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

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

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

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

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

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

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

Одним из решений является изучение счетчиков. Вместо введения в 40 000 дополнительных функций можно наблюдать за количеством и пропорциями мошенничества для каждого почтового кода. Используя эти счетчики как функции, вы получаете сведения о надежности доказательств для каждого значения. Кроме того, с помощью кодирования соответствующей статистики счетчиков можно использовать статистику, чтобы решить, когда следует изменить их подход, а вместо этого использовать другие функции для получения информации.

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

Как создаются функции на основе количества

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

Столбец метки Входное значение
0 Объект
0 Объект
1 Объект
0 B
1 B
1 B
1 B

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

  1. Для определенного набора значений найдите все остальные варианты в этом наборе данных, имеющие одно и то же значение. В этом случае существует три экземпляра и четыре экземпляра B.
  2. Подсчитайте, что членство в классе каждого значения является самой функцией. В этом случае вы получаете маленькую матрицу: существует два случая, где A = 0; один случай, когда A = 1; один случай, когда B = 0; и три варианта, где B = 1.
  3. На основе этой матрицы вы получаете разнообразные функции, основанные на подсчетах. Они включают Вычисление коэффициента, соотношения с журналами, и количества для каждого целевого класса. В таблице в следующем разделе отображаются данные.

Пример таблицы функций на основе счетчиков

Метка 0_0_Class000_Count 0_0_Class001_Count 0_0_Class000_LogOdds 0_0_IsBackoff
0 2 1 0,510826 0
0 2 1 0,510826 0
1 2 1 0,510826 0
0 1 3 — 0,8473 0
1 1 3 — 0,8473 0
1 1 3 — 0,8473 0
1 1 3 — 0,8473 0

Примеры

При использовании машинное обучение Azure для создания моделей прогнозирования с дополнительной информациейгруппа разработчиков Microsoft машинное обучение предоставляет подробное пошаговое руководство по использованию счетчиков в машинном обучении. В этой статье сравнивается эффективность моделирования на основе количества с другими методами.

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

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

Как вычисляется значение потери журнала

Значение потери журнала не является обычным журналом. В этом случае используется прежнее распределение, чтобы сгладить вычисления с незначительным объемом журнала.

Предположим, что у вас есть набор данных, используемый для двоичной классификации. В этом наборе данных для класса 0 была указана ранее частота p_0 , а для класса 1 указана более ранней частотой p_1 = 1 – p_0 . Для конкретной функции примера обучения количество для класса 0 равно x_0 , а число для класса 1 — x_1 .

В рамках этих предположений, вероятность того, что журнал имеет значение, будет вычисляться как LogOdds = Log(x0 + c * p0) – Log (x1 + c\p1) , где c — это прежний коэффициент, который может быть установлен пользователем. Функция log использует естественную базу.

Иными словами, для каждого класса i :

Log_odds[i] = Log( (count[i] + prior_coefficient * prior_frequency[i]) / (sum_of_counts - count[i]) + prior_coefficient \* (1 - prior_frequency[i]))

Если прежний коэффициент положительный, то вероятность того, что журнал может отличаться Log(count[i] / (sum_of_counts – count[i])) .

Почему журнал не рассчитан для некоторых элементов

По умолчанию все элементы с числом меньше 10 собираются в одном контейнере, называемом "мусорная корзина". Это значение можно изменить с помощью параметра « пороговое значение мусора » в модуле « изменение параметров таблицы счетчиков ».

Список модулей

В категорию " обучение с подсчетами " входят следующие модули:

  • Преобразование подсчета сборок: создает таблицу счетчиков и функции на основе количества из набора данных, а затем сохраняет таблицу и компоненты как преобразование.
  • Экспорт таблицы счетчиков: экспортирует таблицу счетчиков из преобразования подсчета. Этот модуль поддерживает обратную совместимость с экспериментами, которые создают функции на основе счетчиков с помощью таблицы счетчиков сборок (не рекомендуется) и count Характеризатора (устарело).
  • Таблица счетчиков импорта: импортирует существующую таблицу счетчиков. Этот модуль поддерживает обратную совместимость с экспериментами, которые создают функции на основе счетчиков с помощью таблицы счетчиков сборок (не рекомендуется) и count Характеризатора (устарело). Модуль поддерживает преобразование таблиц счетчиков для преобразования количества преобразований.
  • Преобразование "подсчет числа слияний": объединяет два набора функций на основе количества.
  • Изменение параметров таблицы счетчиков: изменяет функции на основе числа, которые являются производными от существующей таблицы счетчиков.

См. также