2013-05-08 2 views
1

Этот вопрос касается LibSVM или SVM в целом. Интересно, можно ли классифицировать Feature-Vectors разной длины с той же моделью SVM.SVM LibSVM Игнорировать функцию 1,3,5 при прогнозировании

Скажем, мы обучаем SVM около 1000 экземпляров следующего вектора признаков: [feature1 feature2 feature3 feature4 feature5]

Теперь я хочу, чтобы предсказать тест-вектор, который имеет ту же длину 5. Если вероятность, которую я получаю, является бедной, теперь я хочу проверить первое подмножество моего тестового вектора, содержащего столбцы 2-5. Поэтому я хочу отклонить функцию 1.

Мой вопрос: возможно ли сообщить SVM только для проверки функций 2-5 для прогнозирования (например, с весами), или мне нужно обучать разные модели SVM. Один для 5 функций, другой для 4 функций и так далее ...?

Заранее спасибо ...

Marcus

ответ

0

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

Использование другого набора функций для прогнозов, чем набор, используемый для обучения, не является хорошим подходом.

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

+0

Благодарим вас за быстрый ответ: – Marcus

+0

Что мне было бы интересно, это возможность сообщить SVM IGNORE первым в столбцы моих тестовых данных и принять его решение на основе столбцов 3,4 и 5 – Marcus

+0

В LIBSVM такого варианта нет. Это также не имеет смысла, модели SVM специально обучены для определенного набора функций. Использование подмножества того, что использовалось для обучения, не принесет полезных результатов и, вероятно, приведет к серьезным уклонам. –

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