Узел «Биннинг/энкодинг» включает в себя методы биннинга интервальных переменных и кодирования категориальных переменных.
Биннинг – процесс разделения диапазона непрерывной переменной на k интервалов. Может использоваться для сокращения размерности данных, что часто повышает точность модели.
Предусмотрены следующие методы бинаризации переменной:
- Одинаковая ширина. Данная стратегия разделяет диапазон значений переменной на указанное количество равных интервалов.
- Квантильный. Данная стратегия разделяет диапазон значений переменной таким образом, чтобы в каждый из них попало примерно одинаковое количество значений.
- Дерево. Данная стратегия разделяет диапазон значений переменной с помощью дерева решений, что предполагает связь с целевой переменной.
Разбиение начинается со всех наблюдений, которые представлены корневым узлом дерева. Алгоритм разбивает этот родительский узел на дочерние узлы (и листья) таким образом, чтобы значения (уровни) целевой переменной в пределах каждого дочернего региона были максимально похожи (критерий разбиения задается в параметрах Критерий разбиения для регрессии и Критерий разбиения для классификации).
Соответственно, параметр Количество бинов равен Максимальной глубине дерева в исходном алгоритме дерева решений, а параметр Минимальное количество наблюдений – Минимальному количеству наблюдений в листе дерева (подробнее про работу алгоритма в разделе Узел «Дерево решений»).
Если хотя бы для одной переменной используется бинаризация на основе дерева, то должна быть задана целевая переменная (задается в узле «Метаданные»).
Предусмотрены отдельные бины для пропущенных значений и значений вне диапазона (параметры Обработка пропущенных значений и Обработка значений вне диапазона).
Большинство алгоритмов машинного обучения не могут обрабатывать категориальные переменные. Энкодинг – процесс преобразования текстовых атрибутов в числовые значения. Закодировать категориальные переменные в числовые можно четырьмя методами:
- Количество (Count Encoding) – для каждой категории ставится количество наблюдений с этой категорией.
- Частота (Freq Encoding) – для каждой категории ставится частота наблюдений с этой категорией.
- Целевая (Target Encoding) – для каждой категории ставится средневзвешенное среднего целевой на подвыборке соответствующей заданной категории и среднего целевой на всей обучающей выборке (train). Параметр веса рассчитывается через количество наблюдений в подвыборке, соответствующей заданной категории, и параметры Сдвига и Масштаба.
- WOE (Weight of Evidence) – для каждой категории ставится WOE, рассчитанный для подвыборки, соответствующей выбранной категории. Математически WOE определяется как логарифм отношения доли «хороших» наблюдений к доле «плохих» наблюдений.
Для корректной работы необходимо указать целевую переменную (задается в узле «Метаданные»).
Предусмотрены Обработка пропущенных значений и Обработка неизвестных значений, которые зависят от выбранного метода энкодинга (подробнее в описании соответствующих параметров).
Если целевая переменная категориальная и в ней больше 2-х категорий, то кодировщики, основанные на целевой переменной (Target Encoding и WOE), исключают одну из категорий целевой переменной и для каждой из оставшихся рассматривают соответствующую задачу бинарной классификации (1 – выбранная категория, 0 – все остальные) и строятся по ней. Таким образом, если у целевой переменной K категорий, K > 2, то каждый кодировщик, основанный на целевой переменной, генерирует K - 1 столбцов в результатах.
Список параметров узла представлен в таблице ниже.
Таблица «Параметры узла "Биннинг"»
Параметр | Возможные значения и ограничения | Описание |
|---|---|---|
Название | Ручной ввод. | Название узла, которое будет отображаться в интерфейсе. |
Описание | Ручной ввод. | Описание узла. |
Префикс выходных переменных | Ручной ввод. | Данный параметр задает префикс для выходных переменных узла. |
Обработка значений вне диапазона | Раскрывающийся список со следующими значениями:
| Данный параметр указывает, что делать со значениями вне диапазона. |
Бин для пропущенных значений | Чекбокс. | Выбор данного чекбокса указывает, что необходимо посчитать отдельный бин для пропущенных значений. |
Переменные | Кнопка. | Используется для биннинга интервальных переменных.
Параметр Количество бинов имеет значение по умолчанию, равное 5. Для метода Дерево значение должно быть больше или равно 2. Для остальных методов – больше или равно 1. |
Минимальное количество наблюдений в бине | Ручной ввод целочисленного значения больше ли равно 1. | Является дополнительным параметром для дерева и задает минимальное количество наблюдений в бине. |
Критерий разбиения для регрессии | Раскрывающийся список со следующими значениями:
| Является дополнительным параметром для дерева и задает критерий разбиения для регрессии. Предусмотрены следующие критерии:
|
Критерий разбиения для классификации | Раскрывающийся список со следующими значениями:
| Является дополнительным параметром для дерева и задает критерий разбиения для классификации. Предусмотрены следующие критерии:
|
Префикс выходных переменных | Ручной ввод. | Данный параметр используется для кодирования категориальных переменных и задает префикс для выходных переменных узла. |
Обработка пропущенных значений | Раскрывающийся список со следующими значениями:
| Данный параметр используется для кодирования категориальных переменных и задает метод обработки пропущенных значений. Предусмотрены следующие методы:
|
Обработка неизвестных значений | Раскрывающийся список со следующими значениями:
| Данный параметр используется для кодирования категориальных переменных и задает метод обработки неизвестных значений. Предусмотрены следующие методы:
|
Минимальная частота значений | Ручной ввод. | Данный параметр используется для кодирования категориальных переменных и задает минимальный % значений с категорией для того, чтобы не считать ее редкой. Все редкие категории собираются в одну категорию и при скоринге для всех редких категорий будет проставлено одно и то же значение. Пропущенные значения не входят в редкие категории. |
Количество итераций кросс-валидации | Ручной ввод. | Данный параметр используется для кодирования категориальных переменных и задает количество итераций кросс-валидации. Кросс-валидация используется для борьбы с переобучением при использовании кодировщиков, основанных на целевой переменной (методы Target Encoding и WOE). |
Переменные | Кнопка. | Используется для кодирования категориальных переменных.
|
Сдвиг | Ручной ввод. | Дополнительный параметр для Target Encoding. |
Масштаб | Ручной ввод. | Дополнительный параметр для Target Encoding. |
Рандомизация | Чекбокс. | Дополнительный параметр для WOE Encoding. |
Стандартное отклонение | Ручной ввод. | Дополнительный параметр для WOE Encoding. |
Регуляризация | Ручной ввод. | Дополнительный параметр для WOE encoding. |
Результаты выполнения узла:
- Таблица со статистиками биннинга.
- Таблица со статистиками кодирования.
- Пример данных.


