6

我正在使用 scikit 库来使用 svm。我有大量数据无法一起读取以提供fit()功能
我想对文件中的所有数据进行迭代并一一训练 svm。有没有办法做到这一点。文档并不清楚,在他们的教程中,他们fit立即提供了完整的数据。
有没有办法一一训练它(手段可能类似于调用fit训练数据的每个输入模式)。

4

1 回答 1

15

支持向量机(至少在 scikit-learn 封装的 libsvm 中实现)本质上是一种批处理算法:它需要一次访问内存中的所有数据。因此它们不可扩展。

相反,您应该使用支持增量学习的模型partial_fit。例如一些线性模型如sklearn.linear_model.SGDClassifier支持partial_fit方法。您可以对数据集进行切片并将其加载为具有 shape 的小批量序列(batch_size, n_features)batch_size可以为 1 但效率不高,因为 Python 解释器开销(+ 数据加载开销)。因此,建议以至少 100 的 minitache 为单位引导样品。

于 2013-04-21T08:15:05.630 回答