2012-04-16 3 views
1

Я использую инструмент libsvm (3.11) для реализации классификации SVM в моем проекте (классификация текста с использованием Multi Agent). Но каждый раз, когда я предсказываю результат, он дает одну и ту же метку всем тестовым Документам, то есть +1 или -1, хотя я использую разные виды данных.предсказание с использованием libsvm в java

Я использую следующую процедуру для выполнения libsvm классификации в течение простых текстовых документов:

-> Там будет набор текстовых документов учебного

-> Я преобразование этих текстовых документов в libsvm поддерживает формат TF-IDF (я беру две папки, которые представляют два класса. Для первой папки я назначил метку -1, а для второй папки - +1 соответствует значениям TF-IDF для этого текстового документа)

-> После этого я взял эту сумку слов в один простой текстовый документ .. и затем, используя эти слова, я генерал (я беру только один тестовый документ, поэтому IDF будет всегда 1, и будет только один вектор ... Я надеюсь, что метка не имеет значения) ...

-> После этого я применяю функции libsvm svm_train и svm_predict с опциями по умолчанию

Я делаю в правильной процедуре ?? .. Если есть какая-то неправильная процедура, plz не стесняйтесь сообщать мне .. Это действительно помогает мне.

и Y это libsvm всегда дает результат как только один ярлык ?? .. Это какая-то ошибка в моей процедуре? .. или проблема с инструментом? Спасибо в: Advance ..

+0

Ошибка в процедуре заключается в том, что вы используете только параметры по умолчанию для svm-train. Вам нужно сделать валидацию, чтобы выбрать хороший набор параметров: эту сеть необходимо тренировать с использованием всех разных параметров и прогнозировать прогон на отдельном наборе данных валидации (или использовать проверку кросс-кросс-кода) и, наконец, посмотреть, будет ли ваша модель обобщаться, предсказывая набор тестовых данных. – Bull

+0

Некоторые причины, по которым SVM будет классифицировать все как один класс: (1) плохой выбор параметров, (2) данные не разделяются, или (3) ваш тренировочный набор неуравновешен (например, у вас есть 97% виджетов и 3% wotzits классификатор может достичь 97% точности, просто классифицируя все как виджет). – Bull

ответ

1

Зачем вы используете новые критерии для того, чтобы сделать test документов? Тестирование наборов учебных документов и должно основываться на исходном наборе «учебных текстовых документов». Я помещаю их в кавычки, потому что вы можете взять подмножество этих и использовать их для тестирования. В конечном счете, убедитесь, что ваши учебные и тестовые наборы текстовых документов отличаются от исходного набора.

Смежные вопросы