2015-01-13 3 views
0

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

Поэтому в основном я знаю, что это: SVM-поезд файл поезд

Интересно, если есть способ сделать: SVM-поезд train_file1 train_file2 train_file3 .....

Кто-нибудь знает какой-либо способ сделать это??

+0

Вы уже предлагаете решение, разбив файл. какова первоначальная проблема? файловая система? Тренировочное время? время для metatraining (grid.py)? – stefan

+0

@stefan Невозможно разбить файлы и ввести их в библиотеку, насколько я знаю, и хочу, чтобы предоставить библиотеке все разделенные файлы в качестве входных данных. – MonsieurBeilto

ответ

0

С FAQ's из libsvm

Для больших проблем, пожалуйста, укажите достаточно размер кэша (т.е. -m). Вы можете подготовить только подмножество данных. Вы можете использовать программу subset.py в каталоге «tools» для получения случайного подмножества.

+0

спасибо, что прочитал faq, и это не то решение, которое я искал. Я не могу пойти на компромисс с объемом данных, которые я кормлю – MonsieurBeilto

+0

, в основном, я должен использовать все это – MonsieurBeilto

+0

@MonsieurBeilto Попробовал ли вы использовать -m? для больших данных libsvm обычно выходит из строя из-за отсутствия памяти. Используя -m, вы можете указать код для выделения большего размера кеша. Эмпирическое правило: вам необходимо установить -m, равный 3-кратным размерам вашего набора данных. т.е. если ваши данные составляют 500 мб, вам нужно установить -m на 1500. Также обратите внимание, что не все системы могут выделять 1500 мб и могут продолжать сбой, поэтому попробуйте разные значения -m (1000, 1500, 2000 ..). И, надеюсь, это сработает. – Yakku

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