Если вы стеснены в пространстве, вам, вероятно, захочется пропустить scikit
и просто применить математику самостоятельно. Таким образом, вы можете циклически перебирать данные в структурах по вашему выбору. Требования к памяти зависят от класса SVM, который вы используете; двухклассный линейный SVM может быть выполнен за один проход данных, учитывая только одно наблюдение за раз, когда вы накапливаете сумму продуктов, поэтому ваша командная логика будет занимать гораздо больше места, чем требования к данным.
Если вам нужно сохранить весь набор данных в памяти для нескольких проходов, это «всего лишь» 5000 * 10 * 8 байт для чисел с плавающей запятой или 400 КБ вашего 1 МБ, что может быть достаточным пространством для выполнения ваши манипуляции. Также рассмотрите медленный процесс обучения, перечитывая данные на каждом проходе, поскольку это уменьшает 400 КБ до тривиальности за счет времени настенных часов.
Все это находится под вашим контролем, если вы посмотрите пригодную для использования реализацию SVM и измените части ввода / вывода по мере необходимости.
Это помогает?