В настоящее время я работаю над проектом scikit-learn, и мне было интересно, как работает дерево решений algorihm, используемое классификатором. Я пытаюсь понять, как выбираются тесты на узлах дерева, но я не могу найти никакого объяснения метода, который использует алгоритм для дискретизации непрерывной переменной. Я читал на бумаге, что какой-то алгоритм деревьев решений использует метод Т-образного Т-образного, но я не уверен, использует ли его CART. Кто-нибудь знает об этом?Каков метод дискретизации, который использует алгоритм CART?
0
A
ответ
0
Я не совсем уверен, но я бы сказал, что CART оценивает все возможные расщепления определенной непрерывной переменной в соответствии с данными. То есть, если у нас есть X = {1, 3, 17, 24, 10005}
, точки разделения будут X < 1
, X >= 1
, X >= 3
, X >= 17
и так далее.
Это единственный способ выбрать оптимальный раскол на каждом узле, хотя он может быть дорогостоящим. Если бы мы исследовали только подмножество всех возможных расщеплений, мы могли бы в конечном итоге выбрать неоптимальный (в жадном смысле) один.
Смежные вопросы
- 1. Каков алгоритм, который использует Sass для решения инструкции @import?
- 2. Алгоритм для дискретизации линии
- 3. Какой алгоритм использует audioop.ratecv для преобразования частоты дискретизации?
- 4. Какой алгоритм использует метод GameplayKit?
- 5. Метод тестирования, который использует Realm
- 6. , который использует метод шаблонов backboneJS?
- 7. Алгоритм, который использует вторую степень линейных рядов
- 8. , который алгоритм шифрования использует в ask.fm?
- 9. Какой алгоритм использует этот метод сортировки?
- 10. Какой алгоритм использует метод сортировки Ruby?
- 11. PCM-алгоритм для повышения частоты дискретизации
- 12. Каков алгоритм Robocopy?
- 13. MVC: Алгоритм использует несколько моделей
- 14. python SOAP-клиент, который использует метод POST
- 15. Метод создания объекта, который использует обратный вызов
- 16. Xposed: Как подключить метод, который использует PendingIntent
- 17. JUnit test другой метод, который использует fail()
- 18. Программный метод псевдонима, который использует $ & Global Variable
- 19. Android: найти метод, который использует определенное разрешение
- 20. Рельсы, обобщающие метод, который использует модели
- 21. Протестируйте метод, который использует внешний API
- 22. Как сообщить метод сравнения, который использует сравнение
- 23. Как модульное тестирование метод, который использует Task.WhenAll
- 24. Каков наилучший способ изменить CodeIgniter Cart?
- 25. Возможно ли иметь метод, который использует общий Comparable?
- 26. Каков метод, который называется в uitableviewcell последним?
- 27. Какой алгоритм использует Bitmap.smoothing?
- 28. Какой алгоритм использует table.sort?
- 29. Какой алгоритм использует Math.random?
- 30. Метод вызова, который использует метод <Type> (параметры)
Эй! Большое спасибо, это помогло мне понять все это. Поскольку этот метод действительно дорого стоит вычислить, я подумал, что есть другой способ выбрать оптимальный раскол ... Но как мы можем решить эту проблему об изучении только подмножества разделов? Есть ли способ убедиться в оптимальном расколе между всеми возможными? – Bradawk
Для того, чтобы получить «лучший» оптимальный раскол среди всех возможных, не тестируя их, вам, вероятно, потребуется использовать эвристику или сделать предположения относительно вашей модели данных. Вы можете использовать методы дискретизации непрерывных функций, такие как https://en.wikipedia.org/wiki/Discretization_of_continuous_features. Кроме того, если ваша функция соответствует нормальному распределению, вы можете проверить только 10 пунктов дециля, а не все. – dukebody