В поисках алгоритма проблемы классификации твитов я пересекся с SVM. Начиная с LibSVM я реализовал систему, используя ее java-библиотеку (не командную строку), что дает примерно 50% -60% линейной функции. Теперь я хочу выполнить выбор модели, масштабирование, перекрестную проверку и выбор функций в надежде повысить мою точность. Проблема в том, что я не смог найти эти функции в библиотеке Java от LibSVM. Итак, какие у меня есть варианты. учитывая, что я программист на Java? А если есть вариант написать их самому, как и с каким алгоритмом? Следует ли мне использовать любую другую библиотеку или алгоритм машинного обучения для этой задачи?

0
Himanshu Mehra 13 Мар 2015 в 13:14

3 ответа

Лучший ответ

Процесс выбора модели в SVM, который помогает вам выбрать лучшую модель на основе различных параметров функции. В библиотеке LibSVM выбор модели осуществляется методом перекрестной проверки. Что он делает, так это разбивает ваши обучающие данные на несколько подмножеств и каждый раз обучает модель с разными параметрами для каждых данных, чтобы повысить точность. это также устраняет проблему чрезмерной подгонки.

0
Himanshu Mehra 15 Мар 2015 в 06:42

JSAT имеет реализацию SVM (это не тот же алгоритм, что используется LibSVM. , но решает ту же проблему), а также многие другие алгоритмы, GridSearch и методы выбора функций.

Примечание о предвзятости: я автор библиотеки.

0
Raff.Edward 13 Мар 2015 в 20:14

Я не уверен, что вы имеете в виду под выбором модели или масштабированием. Я знаю, что LibSVM выполняет перекрестную проверку, но я не знаю о выборе функций. Я рекомендую использовать R вместо java. Существует множество пакетов для различных методов выбора функций, а также SVM, например:

e1071

0
MTT 13 Мар 2015 в 19:03