Применение математической операции

В этой статье описывается компонент конструктора Машинного обучения Azure.

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

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

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

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

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

  • Основной

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

  • Сравнить

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

  • Операции

    Категория Операции включает основные математические функции: сложение, вычитание, умножение и деление. Можно работать с любыми столбцами или константами. Например, можно добавить значение столбца A к значению столбца B. Или можно вычесть константу, например ранее вычисленное среднее значение, из каждого значения в столбце A.

  • Округление

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

  • Специальные

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

  • Тригонометрические функции

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

Настройка модуля "Применение математической операции"

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

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

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

  1. Добавьте компонент Применение математической операции в конвейер.

  2. Подключите набор данных, содержащий хотя бы один числовой столбец.

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

    • Любой выбранный столбец должен иметь числовой тип данных.
    • Диапазон данных должен быть допустимым для выбранной математической операции. В противном случае может возникнуть ошибка или будет получен результат NaN ("не число"). Например, Ln(-1.0) является недопустимой операцией и приводит к значению NaN.
  4. Выберите категорию, чтобы выбрать тип выполняемой математической операции.

  5. Выберите конкретную операцию из списка в этой категории.

  6. Задайте дополнительные параметры, необходимые для каждого типа операций.

  7. С помощью параметра Режим вывода укажите, как будет создана математическая операция:

    • Append. Все столбцы, используемые как входные данные, включаются в выходной набор данных, а также добавляется один дополнительный столбец, содержащий результаты математической операции.
    • Inplace (замещение). Значения в столбцах, используемых в качестве входных данных, заменяются новыми вычисляемыми значениями.
    • ResultOnly (только результат). Возвращается один столбец, содержащий результаты математической операции.
  8. Отправьте конвейер.

Результаты

При формировании результатов с помощью параметров Append или ResultOnly заголовки столбцов возвращаемого набора данных указывают на операцию и столбцы, которые были использованы. Например, если сравнить два столбца с помощью оператора Equals, результаты будут выглядеть следующим образом:

  • Equals(Col2_Col1) указывает на то, что выполнялось сравнение значения Col2 с Col1.
  • Equals (Col2_ $10) указывает, что столбец 2 сравнивался с константой 10.

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

Базовые математические операции.

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

Машинное обучение Azure поддерживает следующие функции в категории Базовые:

Abs

Возвращает абсолютное значение выбранных столбцов.

Atan2

Возвращает арктангенс двух переменных.

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

Соответствует функции ATAN2 в MATLAB.

Conj

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

CubeRoot

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

DoubleFactorial

Вычисляет двойной факториал для значений в выбранном столбце. Двойной факториал — это расширение обычной функции факториала, которое обозначается как x!!.

Eps

Возвращает разницу между текущим значением и следующим наибольшим числом двойной точности. Соответствует функции EPS в MATLAB.

Exp

Возвращает значение e, возведенное в степень значения выбранного столбца. Эта функция аналогична функции Excel EXP.

Exp2

Возвращает экспоненту по основанию 2 для аргументов по формуле y = x * 2t, где t — столбец значений, содержащих экспоненты.

В поле Набор столбцов выберите столбец, содержащий значения экспоненты t.

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

Например, если выбрать столбец со значениями {0,1,2,3,4,5} в качестве как множителя, так и экспоненты, функция вернет {0, 2, 8, 24, 64, 160).

ExpMinus1

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

Факториал

Возвращает факториал для значений в выбранном столбце.

Hypotenuse

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

Натуральный логарифм

Возвращает натуральный логарифм для значений в выбранном столбце.

LnPlus1

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

Журнал

Возвращает логарифм значений в выбранном столбце по заданному основанию.

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

Log10

Возвращает значения логарифма по основанию 10 для выбранного столбца.

Log2

Возвращает значения логарифма по основанию 2 для выбранного столбца.

NthRoot

Извлекает корень n-й степени из значения, используя в качестве n указанное вами число.

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

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

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

Pow

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

Сначала выберите столбцы, содержащие основание (число с плавающей запятой), с помощью параметра ColumnSet.

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

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

Sqrt

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

SqrtPi

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

Square

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

операции сравнения;

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

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

EqualTo

Возвращает значение True, если значения одинаковы.

GreaterThan

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

GreaterThanOrEqualTo

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

LessThan;

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

LessThanOrEqualTo

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

NotEqualTo

Возвращает значение True, если значения, заданные в поле Набор столбцов, не равны константе или значениям в столбце сравнения, и значение False в противном случае.

PairMax

Возвращает значение, которое больше, — значение в Наборе столбцов или значение в столбце констант или сравнения.

PairMin

Возвращает меньшее значение: значение в наборе столбцов или значение константы либо столбца сравнения.

Арифметические операции

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

Ниже приведен порядок деления и вычитания:

  • Subtract(Arg1_Arg2) = Arg1 - Arg 2
  • Divide(Arg1_Arg2) = Arg1 / Arg 2

В следующей таблице приведено несколько примеров.

Операция Num1 Num2 Столбец результатов Значение результата
Сложение 1 5 Add(Num2_Num1) 6
Умножение 1 5 Multiple(Num2_Num1) 5
Вычитание 5 1 Subtract(Num2_Num1) 4
Вычитание 0 1 Subtract(Num2_Num1) -1
Отдел 5 1 Divide(Num2_Num1) 5
Отдел 1 0 Divide(Num2_Num1) Infinity

Добавить

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

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

Divide

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

Multiply

Умножает значения в наборе столбцов на указанную константу или значения столбца.

Subtract

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

Операции округления

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

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

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

Ceiling

Возвращает наибольшее значение в наборе столбцов.

CeilingPower2

Возвращает квадрат наибольшего значения в наборе столбцов.

Этаж

Возвращает наименьшее значение в наборе столбцов с заданной точностью.

Mod

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

Знаменатель

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

Остаток

Возвращает остаток для значений в наборе столбцов.

RoundDigits

Возвращает значения в наборе столбцов, округленные до указанного количества цифр по правилу 4/5.

RoundDown

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

RoundUp

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

ToEven

Возвращает значения в Наборе столбцов, округленные до ближайшего целого четного числа.

ToOdd

Возвращает значения в Наборе столбцов, округленные до ближайшего целого нечетного числа.

Truncate

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

Специальные математические функции

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

Бета;

Возвращает значение бета-функции Эйлера.

EllipticIntegralE

Возвращает значение неполного эллиптического интеграла.

EllipticIntegralK

Возвращает значение полного эллиптического интеграла (K).

Erf

Возвращает значение функции ошибок.

Функция ошибок (также называемая функцией ошибок Гаусса) — это специальная сигмоидальная функция, которая используется для описания распределения вероятностей.

Erfc

Возвращает значение дополнительной функции ошибок.

Erfc определено как 1 – erf(x).

ErfScaled

Возвращает значение нормированной функции ошибок.

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

ErfInverse

Возвращает значение обратной функции erf.

ExponentialIntegralEin

Возвращает значение интеграла показательной функции Ei.

Gamma

Возвращает значение гамма-функции.

GammaLn

Возвращает натуральный логарифм гамма-функции.

GammaRegularizedP

Возвращает значение регуляризованной неполной гамма-функции.

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

GammaRegularizedPInverse

Возвращает значение обратной регуляризованной неполной гамма-функции.

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

GammaRegularizedQ

Возвращает значение регуляризованной неполной гамма-функции.

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

GammaRegularizedQInverse

Возвращает значение обратной обобщенной регуляризованной неполной гамма-функции.

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

PolyGamma

Возвращает значение полигамма-функции.

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

Тригонометрические функции

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

Acos

Вычисляет арккосинус значений столбца.

AcosDegree

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

Acosh

Вычисляет гиперболический арккосинус значений столбца.

Acot

Вычисляет арккотангенс значений столбца.

AcotDegrees

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

Acoth

Вычисляет гиперболический арккотангенс значений столбца.

Acsc

Вычисляет арккосеканс значений столбца.

AcscDegrees

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

Asec

Вычисляет арксеканс значений столбца.

AsecDegrees

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

Asech

Вычисляет гиперболический арксеканс значений столбца.

Asin

Вычисляет арксинус значений столбца.

AsinDegrees

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

Asinh

Вычисляет гиперболический арксинус значений столбца.

Atan

Вычисляет арктангенс значений столбца.

AtanDegrees

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

Atanh

Вычисляет гиперболический арктангенс значений столбца.

Cos

Вычисляет косинус значений столбца.

CosDegrees

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

Cosh

Вычисляет гиперболический косинус значений столбца.

Cot

Вычисляет котангенс значений столбца.

CotDegrees

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

Coth

Вычисляет гиперболический котангенс значений столбца.

Csc

Вычисляет косеканс значений столбца.

CscDegrees

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

Csch

Вычисляет гиперболический косеканс значений столбца.

DegreesToRadians

Преобразует градусы в радианы.

Sec

Вычисляет секанс значений столбца.

aSecDegrees

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

aSech

Вычисляет гиперболический секанс значений столбца.

Sign

Возвращает знак значений столбца.

Sin

Вычисляет синус значений столбца.

Sinc

Вычисляет значение синус-косинус для значений столбца.

SinDegrees

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

Sinh

Вычисляет гиперболический синус значений столбца.

Tan

Вычисляет тангенс значений столбца.

TanDegrees

Вычисляет тангенс аргумента в градусах.

Tanh

Вычисляет гиперболический тангенс значений столбца.

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

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

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

Num1 Num2 Num3 Add(Num1_Num1) Add(Num2_Num2) Add(Num3_Num3)
1 5 2 2 10 4
2 3 -1 4 6 -2
0 1 -1 0 2 -2

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

Кроме того, можно использовать один из следующих компонентов для выполнения всех вычислений одновременно с помощью сценария SQL, R или Python:

Дальнейшие действия

Ознакомьтесь с набором доступных компонентов для Машинного обучения Azure.