Внедрение SVM, scikits изучают сокращение времени выполнения, самый быстрый svm

Я работаю с scikit-learn над построением некоторых прогнозных моделей с помощью SVM.У меня есть набор данных, содержащий около 5000 примеров и около 700 функций. Я выполняю пятикратную перекрестную проверку с поиском по сетке 18x17 на моем обучающем наборе, а затем использую оптимальные параметры для моего набора тестов. прогоны занимают намного больше времени, чем я ожидал, и я заметил следующее:

1) Некоторые отдельные итерации обучения SVM, кажется, занимают всего минуту, в то время как другие могут занимать до 15 минут. Ожидается ли это с другими данными и параметрами (C и гамма, я использую ядро ​​ rbf )?

2) Я пытаюсь использовать 64-битный Python в Windows, чтобы воспользоваться дополнительной памятью , но все мои процессы Python, кажется, занимают 1 гигабайт в моем диспетчере задач, я не знаю, имеет ли это какое-либо отношение к среде выполнения.

3) Раньше я использовал 32-битную версию и работал примерно с тем же набором данных, и я помню (хотя я не сохранял результаты), это было немного быстрее. Я использовал стороннюю сборку scikit-learn для 64-битных окон, поэтому не знаю, лучше ли попробовать это на 32-битном питоне? (источник http://www.lfd.uci.edu/~gohlke/pythonlibs/ )

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

Приложение: Я вернулся и снова попытался запустить 32-битную версию. По некоторым причинам это намного быстрее. Потребовалось около 3 часов, чтобы добраться до 64-битной версии за 16 часов.Почему может быть такая разница?

5
задан yprez 10 January 2015 в 19:17
поделиться