Ищу реализацию алгоритма C4.5 на C++

Я искал реализацию на C++ алгоритма C4.5, но я пока не смог его найти. Я нашел Quinlan's C4.5 Release 8, но он написан на C... видел ли кто-нибудь реализацию C4 с открытым исходным кодом на C++.5 алгоритм?

Я подумываю о переносе исходного кода J48(или просто о написании оболочки для C-версии), если не смогу найти реализацию C++ с открытым исходным кодом, но надеюсь, что не найду т должен сделать это! Пожалуйста, дайте мне знать, если вы столкнулись с реализацией алгоритма на C++.

Обновление

Я рассматривал вариант написания тонкой оболочки C++вокруг C-реализации алгоритма C5.0 ( C5.0 — это улучшенная версия C4. 5). Я скачал и скомпилировал реализацию алгоритма C5.0 на языке C, но не похоже, чтобы его было легко перенести на C++. Реализация C использует множество глобальных переменных, и простое написание тонкой оболочки C++ вокруг функций C не приведет к объектно-ориентированному дизайну, поскольку каждый экземпляр класса будет изменять одни и те же глобальные параметры. Другими словами: У меня не будет инкапсуляции, и это довольно простая вещь, которая мне нужна.

Чтобы получить инкапсуляцию, мне нужно будет полностью портировать код C на C++, что примерно так же, как портировать версию Java (J48) на C++.

Обновление 2.0

Вот некоторые особые требования:

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

Вот хороший сценарий: предположим, я выполняю 10-кратную перекрестную проверку, я хотел бы одновременно обучить 10 деревьев решений с их соответствующим фрагментом обучающего множества.Если бы я просто запускал программу C для каждого слайса, мне пришлось бы запускать 10 процессов, что не так уж и ужасно. Однако, если мне нужно классифицировать тысячи выборок данных в режиме реального времени, мне придется начинать новый процесс для каждой выборки, которую я хочу классифицировать, а это не очень эффективно.

5
задан Kiril 29 May 2012 в 19:39
поделиться