Узел «Биннинг/энкодинг» включает в себя методы биннинга интервальных переменных и кодирования категориальных переменных.
Биннинг – процесс разделения диапазона непрерывной переменной на 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 столбцов в результатах.
Список параметров узла представлен в таблице.
Параметр | Возможные значения и ограничения | Описание |
---|---|---|
Название | Ручной ввод | Название узла, которое будет отображаться в интерфейсе |
Описание | Ручной ввод | Описание узла |
Префикс выходных переменных | Ручной ввод | Данный параметр задает префикс для выходных переменных узла |
Обработка значений вне диапазона | Раскрывающийся список со следующими значениями:
| Данный параметр указывает что делать со значениями вне диапазона. |
Бин для пропущенных значений | Чекбокс | Выбор данного чекбокса указывает, что необходимо посчитать отдельный бин для пропущенных значений |
Переменные | Кнопка | Используется для биннинга интервальных переменных
|
Минимальное количество наблюдений в бине | Ручной ввод целочисленного значения больше ли равно 1 | Является дополнительным параметром для биннинга на основе дерева и задает минимальное количество наблюдений в бине |
Критерий разбиения для регрессии | Раскрывающийся список со следующими значениями:
| Является дополнительным параметром для биннинга на основе дерева и задает критерий разбиения для регрессии. Предусмотрены следующие критерии:
|
Критерий разбиения для классификации | Раскрывающийся список со следующими значениями:
| Является дополнительным параметром для биннинга на основе дерева и задает критерий разбиения для классификации. Предусмотрены следующие критерии:
|
Префикс выходных переменных | Ручной ввод | Данный параметр используется для кодирования категориальных переменных и задает префикс для выходных переменных узла |
Обработка пропущенных значений | Раскрывающийся список со следующими значениями:
| Данный параметр используется для кодирования категориальных переменных и задает метод обработки пропущенных значений. Предусмотрены следующие методы:
|
Обработка неизвестных значений | Раскрывающийся список со следующими значениями:
| Данный параметр используется для кодирования категориальных переменных и задает метод обработки неизвестных значений. Предусмотрены следующие методы:
|
Минимальная частота значений | Ручной ввод | Данный параметр используется для кодирования категориальных переменных и задаёт минимальный % значений с категорией для того, чтобы не считать её редкой. Все редкие категории собираются в одну категорию и при скоринге для всех редких категорий будет проставлено одно и то же значение. Пропущенные значение не входят в редкие категории. |
Количество итераций кросс-валидации | Ручной ввод | Данный параметр используется для кодирования категориальных переменных и задает количество итераций кросс-валидации. Кросс-валидация используется для борьбы с переобучением при использовании кодировщиков, основанных на целевой переменной (методы Target Encoding и WOE). |
Переменные | Кнопка | Используется для кодирования категориальных переменных
|
Сдвиг | Ручной ввод | Параметр для Target Encoding |
Масштаб | Ручной ввод | Параметр для Target Encoding |
Рандомизация | Чекбокс | Параметр для WOE Encoding |
Стандартное отклонение | Ручной ввод | Параметр для WOE Encoding |
Регуляризация | Ручной ввод | Параметр для WOE encoding |
Результаты выполнения узла:
- Таблица с примером данных. Отображаются первые 100 наблюдений.
В результате выполнения узла в наборе данных будут рассчитаны новые переменные с указанными в параметрах префиксами и ролью Предиктор. Переменная, полученная в ходе биннинга, будет иметь тип Nominal, в ходе кодирования – Interval.
- Таблица со статистиками биннинга.
- Таблица со статистиками кодирования.