Дискретный и непрерывный классификатор для разреженных данных
-
21-09-2019 - |
Вопрос
Я пытаюсь классифицировать пример, который содержит дискретные и непрерывные объекты.Кроме того, пример представляет разреженные данные, поэтому, даже если система, возможно, была обучена работе со 100 функциями, в примере может быть только 12.
Какой алгоритм классификатора лучше всего использовать для достижения этой цели?Я просматривал Bayes, Maxent, Decision Tree и KNN, но я не уверен, что какие-либо из них точно соответствуют всем требованиям.Самый большой камень преткновения, который я обнаружил, заключается в том, что большинство реализаций не поддерживают разреженные наборы данных и как дискретные, так и непрерывные функции.Кто-нибудь может порекомендовать алгоритм и реализацию (предпочтительно на Python), которые соответствуют этим критериям?
Библиотеки, которые я рассмотрел до сих пор, включают:
- Оранжевый (В основном академический.Реализации не очень эффективны или практичны.)
- НЛТК (Также академический, хотя имеет хорошую реализацию Maxent, но не обрабатывает непрерывные функции.)
- Веска (Все еще исследую это.Кажется, поддерживает широкий спектр алгоритмов, но имеет плохую документацию, поэтому неясно, что поддерживает каждая реализация.)
Решение
Веска (Java) удовлетворяет всем вашим требованиям:
- большое количество классификация /регрессия алгоритмы
- поддержка дискретных / непрерывных (называемых номинальными / числовыми в Weka) атрибуты
- обрабатывает разреженные данные: Формат ARFF
Посмотри на это Пентахо - вики для получения списка ссылок на документацию, руководства, видеоуроки и т.д...
Другие советы
Машины опорных векторов? libsvm - библиотека может быть использован на Python и является довольно быстрым.
Обрабатывает разреженные векторные входные данные и не будет возражать, если некоторые функции будут непрерывными, тогда как другие - просто -1 / +1.(Если у вас есть n-полосный дискретный объект, стандартная вещь, которую нужно сделать, это разложить его на n двоичных объектов.)
scikit-учиться, модуль машинного обучения Python поддерживает Стохастический Градиентный Спуск и Машины опорных векторов для разреженных данных.