2016-11-30 2 views
0

В настоящее время я работаю над проектом scikit-learn, и мне было интересно, как работает дерево решений algorihm, используемое классификатором. Я пытаюсь понять, как выбираются тесты на узлах дерева, но я не могу найти никакого объяснения метода, который использует алгоритм для дискретизации непрерывной переменной. Я читал на бумаге, что какой-то алгоритм деревьев решений использует метод Т-образного Т-образного, но я не уверен, использует ли его CART. Кто-нибудь знает об этом?Каков метод дискретизации, который использует алгоритм CART?

ответ

0

Я не совсем уверен, но я бы сказал, что CART оценивает все возможные расщепления определенной непрерывной переменной в соответствии с данными. То есть, если у нас есть X = {1, 3, 17, 24, 10005}, точки разделения будут X < 1, X >= 1, X >= 3, X >= 17 и так далее.

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

+0

Эй! Большое спасибо, это помогло мне понять все это. Поскольку этот метод действительно дорого стоит вычислить, я подумал, что есть другой способ выбрать оптимальный раскол ... Но как мы можем решить эту проблему об изучении только подмножества разделов? Есть ли способ убедиться в оптимальном расколе между всеми возможными? – Bradawk

+0

Для того, чтобы получить «лучший» оптимальный раскол среди всех возможных, не тестируя их, вам, вероятно, потребуется использовать эвристику или сделать предположения относительно вашей модели данных. Вы можете использовать методы дискретизации непрерывных функций, такие как https://en.wikipedia.org/wiki/Discretization_of_continuous_features. Кроме того, если ваша функция соответствует нормальному распределению, вы можете проверить только 10 пунктов дециля, а не все. – dukebody

Смежные вопросы