Дискретный и непрерывный классификатор на разреженных данных - PullRequest
3 голосов
/ 23 марта 2010

Я пытаюсь классифицировать пример, который содержит дискретные и непрерывные функции. Кроме того, в примере представлены разреженные данные, поэтому, хотя система может быть обучена использованию 100 функций, в примере может быть только 12.

Какой алгоритм классификатора лучше всего использовать для достижения этой цели? Я смотрел на Байеса, Максента, Decision Tree и KNN, но я не уверен, что они точно соответствуют требованиям. Самым большим камнем преткновения, который я обнаружил, является то, что большинство реализаций не поддерживают разреженные наборы данных и как дискретные, так и непрерывные функции. Кто-нибудь может порекомендовать алгоритм и реализацию (желательно на Python), которая соответствует этим критериям?

Библиотеки, на которые я смотрел, включают:

  1. Оранжевый (В основном академический. Реализации не очень эффективны или практичны.)
  2. NLTK (Также академический, хотя и имеет хорошую реализацию Maxent, но не поддерживает непрерывные функции.)
  3. Weka (Все еще исследует это. Кажется, поддерживает широкий спектр алгоритмов, но имеет плохую документацию, поэтому неясно, что поддерживает каждая реализация.)

Ответы [ 3 ]

2 голосов
/ 24 марта 2010

Weka (Java) удовлетворяет всем вашим требованиям:

Проверьте это Pentaho wiki для получения списка ссылок на документацию, руководства, видеоуроки и т.д. ...

2 голосов
/ 02 января 2012

scikit учиться , модуль Python машинного обучения поддерживает стохастический градиентный спуск и Поддержка векторных машины для разреженных данных.

2 голосов
/ 23 марта 2010

Опорные векторные машины ? libsvm можно использовать из Python, и это довольно быстро.

Обрабатывает разреженные векторные входы и не будет возражать, если некоторые функции будут непрерывными, а другие просто -1 / + 1. (Если у вас есть n-сторонняя дискретная функция, стандартная вещь, которую нужно сделать, - это расширить ее на n двоичных функций.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...