Я работаю с scikit-learn над созданием некоторых прогностических моделей с SVM. У меня есть набор данных с около 5000 примеров и около 700 функций. Я 5-кратный перекрестный контроль с поиском сетки 18x17 на моем тренировочном наборе, затем использую оптимальные параметры для моего испытательного набора. пробеги занимают намного больше времени, чем я ожидал, и я заметил следующее:
1) Кажется, что некоторые отдельные итерации SVM занимают всего минуту, в то время как другие могут занимать до 15 минут. Это ожидается с другими данными и параметрами (C и гамма, я использую rbf
ядро)?
2) Я пытаюсь использовать 64-битный Python в Windows, чтобы воспользоваться дополнительной памятью, но все мои процессы Python, кажется, достигают 1 гигабайта в моем диспетчере задач, я не знаю, имеет ли это какое-либо отношение к делать со временем выполнения.
3) Я использовал 32-битную версию и работал примерно на одном и том же наборе данных, и я помню (хотя я не сохранил результаты), это было немного быстрее. Я использовал стороннюю сборку Scikit-Learn для 64-битных окон, поэтому я не знаю, лучше ли попробовать это на 32-битном Python? (источник http://www.lfd.uci.edu/~gohlke/pythonlibs/)
Буду очень признателен за любые предложения по сокращению времени выполнения. Я предполагаю, что сокращение пространства поиска моего поиска по сетке поможет, но поскольку я не уверен даже в диапазоне оптимальных параметров, я хотел бы сохранить его как можно большим. Если есть и более быстрые реализации SVM, пожалуйста, дайте мне знать, и я могу попробовать их.
Приложение: я вернулся и снова попытался запустить 32-битную версию. Это намного быстрее по какой-то причине. Дорога к 64-битной версии заняла около 3 часов за 16 часов. Почему такая разница?