Как уменьшить время выполнения для SVM

#r #machine-learning #svm #libsvm

#r #машинное обучение #svm #libsvm

Вопрос:

В настоящее время я работаю над набором данных с 20 объектами и 400 Тыс. строк. Я использую библиотеку e1071 для многоклассовой классификации с использованием SVM. У меня есть этот код, и мне требуется около 2 дней, чтобы получить результаты. Есть ли способ уменьшить временную сложность, используя ту же библиотеку? Если нет, то какую другую библиотеку или опции мне следует рассмотреть предпочтительно в R?

 svm.model <- svm(y ~., data = traindata, gamma = 0.01, cost = 10, kernel= "radial")
  

Комментарии:

1. Я бы попробовал дополнительную выборку, возможно, 1000-10000 строк, и посмотрел, какую производительность вы получаете при меньшем количестве выборок — этой информации может быть достаточно, чтобы получить достойную модель. Попробуйте также другие ядра.

2. Да, я действительно пробовал это. Но разница в ошибках существенна при взятии выборки размером 40 КБ по сравнению со всеми данными.

3. вы проводите обучение / тестирование, перекрестную проверку и т.д.?

4. Да, 50% данных для обучения, 25% для тестирования и валидации одновременно.

Ответ №1:

Я бы предложил попробовать уменьшение размерности (например, с помощью PCA), чтобы уменьшить количество функций, что дало бы прирост производительности.