Нужно ли нормализовать данные при построении деревьев решений с использованием R?

10

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

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

Я не уверен в этом, но повлияет ли нормализация на итоговое дерево решений из того же набора данных? Не похоже, что это должно, но ...

Jae
источник

Ответы:

13

Большинство распространенных типов деревьев решений, с которыми вы сталкиваетесь, не подвержены каким-либо монотонным преобразованиям. Итак, до тех пор, пока вы сохраняете orde, деревья решений одинаковы (очевидно, под одним и тем же деревом здесь я понимаю одну и ту же структуру решений, а не одинаковые значения для каждого теста в каждом узле дерева).

Причина, по которой это происходит, заключается в том, как работают обычные примесные функции. Чтобы найти наилучшее разделение, он ищет в каждом измерении (атрибуте) точку разделения, которая в основном является предложением if, которое группирует целевые значения, соответствующие экземплярам, ​​у которых тестовое значение меньше значения разделения, а справа значения больше, чем равны. Это происходит для числовых атрибутов (я думаю, это ваш случай, потому что я не знаю, как нормализовать номинальный атрибут). Теперь вы можете заметить, что критерий меньше или больше чем. Это означает, что реальная информация из атрибутов для нахождения расщепления (и всего дерева) представляет собой только порядок значений. Это означает, что до тех пор, пока вы преобразуете свои атрибуты таким образом, что исходный порядок зарезервирован, вы получите одно и то же дерево.

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

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

Надеюсь, поможет

rapaio
источник