Я реализую C4.5 algorithm в .net
, однако у меня нет четкого представления о том, как он обрабатывает «непрерывные (числовые) данные». Может ли кто-нибудь дать мне более подробное объяснение?Как алгоритм C4.5 обрабатывает непрерывные данные?
ответ
Для непрерывных данных C4.5 использует пороговое значение, где в левом узле все меньше порога, а все, что превышает порог, находится в правом узле. Вопрос заключается в том, как создать это пороговое значение из данных, которые вы даете. Трюк заключается в сортировке ваших данных по непрерывной переменной в порядке возрастания. Затем перебирайте данные, выбирающие пороговое значение между элементами данных. Например, если ваши данные для атрибута x:
0.5, 1.2, 3.4, 5.4, 6.0
Сначала вы выбираете порог между 0,5 и 1,2. В этом случае мы можем просто использовать среднее значение: 0,85. Теперь вычислить вашу примесь:
H(x < 0.85) = H(s) - l/N * H(x<0.85) - r/N * H(x>0.85).
где л число выборок в левом узле, г число выборок в правом узле, и N представляет собой общее количество выборок в узле раскалывается. В нашем примере выше с х> 0,85 в качестве нашего расщепления, то l = 1, r = 4 и N = 5.
Помните расчетную разницу примесей и теперь вычисляйте ее для разделения между 2 и 3 (т. Е. X> 2.3). Повторите это для каждого раскола (т. Е. N-1). Затем выберите раскол, который максимально сведен к минимуму. Это означает, что ваш раскол должен быть более чистым, чем расщепление. Если вы не можете увеличить чистоту для результирующих узлов, тогда не разделяйте его. Вы также можете иметь минимальный размер узла, чтобы не попасть в левый или правый узлы, содержащие только один образец.
- 1. c4.5 алгоритм отсутствует значения
- 2. C4.5 алгоритм с неограниченными атрибутами
- 3. C4.5 Алгоритм дерева решений не улучшает точность
- 4. Как классифицировать непрерывные данные?
- 5. Структура данных/Алгоритм, который обрабатывает Истекшие данные
- 6. непрерывные данные через сокет
- 7. «группа» только непрерывные данные
- 8. Проблемы с C4.5
- 9. Как CouchDB обрабатывает данные?
- 10. Получите непрерывные данные из UIPickerView?
- 11. расщепления непрерывные данные в data.frame
- 12. Непрерывные данные в приложении Rails
- 13. C# Непрерывные/непрерывные данные чтения (из стороннего SDK)
- 14. Получить непрерывные данные с сервера
- 15. Как собирать непрерывные данные с Python Telnet
- 16. Как классифицировать реальные непрерывные данные для WEKA
- 17. Как разбить непрерывные данные на группы?
- 18. Как объединить непрерывные данные в ежедневные данные с помощью R
- 19. Почему Adtree имеет большую точность, чем C4.5
- 20. Лучший способ сохранить непрерывные данные в android
- 21. Matlab обрабатывает большие данные
- 22. Подпишитесь на непрерывные данные с угловым websocket
- 23. serialport непрерывные данные реального времени C#
- 24. Python convert Непрерывные данные в категориальные
- 25. Java найдет лучший способ решить проверку Непрерывные числа [Алгоритм]
- 26. C# 1 Socket Client Непрерывные данные
- 27. Непрерывные потоковые данные PCM в C++?
- 28. Возможно ли отслеживать непрерывные данные 12500kB/s?
- 29. реализация алгоритма c4.5 на * nix
- 30. Почему алгоритм C4.5 использует обрезку, чтобы уменьшить дерево решений и как обрезка влияет на точность предсказания?