В поисках алгоритма проблемы классификации твитов я пересекся с SVM. Начиная с LibSVM
я реализовал систему, используя ее java-библиотеку (не командную строку), что дает примерно 50% -60% линейной функции. Теперь я хочу выполнить выбор модели, масштабирование, перекрестную проверку и выбор функций в надежде повысить мою точность. Проблема в том, что я не смог найти эти функции в библиотеке Java от LibSVM
. Итак, какие у меня есть варианты. учитывая, что я программист на Java? А если есть вариант написать их самому, как и с каким алгоритмом? Следует ли мне использовать любую другую библиотеку или алгоритм машинного обучения для этой задачи?
3 ответа
Процесс выбора модели в SVM, который помогает вам выбрать лучшую модель на основе различных параметров функции. В библиотеке LibSVM выбор модели осуществляется методом перекрестной проверки. Что он делает, так это разбивает ваши обучающие данные на несколько подмножеств и каждый раз обучает модель с разными параметрами для каждых данных, чтобы повысить точность. это также устраняет проблему чрезмерной подгонки.
JSAT имеет реализацию SVM (это не тот же алгоритм, что используется LibSVM. , но решает ту же проблему), а также многие другие алгоритмы, GridSearch и методы выбора функций.
Примечание о предвзятости: я автор библиотеки.
Я не уверен, что вы имеете в виду под выбором модели или масштабированием. Я знаю, что LibSVM выполняет перекрестную проверку, но я не знаю о выборе функций. Я рекомендую использовать R вместо java. Существует множество пакетов для различных методов выбора функций, а также SVM, например:
e1071
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.