Получи случайную криптовалюту за регистрацию!

Как строится дерево в задаче регрессии? Друзья, в одном из | PyMagic

Как строится дерево в задаче регрессии?

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

Мы уже упоминали про критерий информативности как в отдельном посте так и с посте с алгоритмами. Я напомню, что критерий информативности мы обозначаем H(R), он оценивает качество распределения целевой переменной среди объектов, находящихся в вершине R. И, как вы помните, наша задача минимизировать его значение. Сегодня мы начнем обсуждать, какие критерии информативности используются для разных типов задач, начнем с регрессии.

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

Пример. Пусть у нас есть вершина, где пять объектов с одним и тем же прогнозом, пусть прогноз будет равен 7. То есть пять семерок содержится в рассматриваемой вершине. Все объекты с одинаковой целевой переменной. Дисперсия в такой вершине будет равна нулю. Хаотичность вершины минимальная. Вероятно, нам не придется дальше проводить разбиение. Давайте теперь рассмотрим другую вершину, в которую попали следующие прогнозы: 1, 2, 2, 3, 1. Дисперсия такой вершины будет больше нуля. Значит, скорее всего разбиение придется продолжить.

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