Scikit-Learn SVM有很多样本 /迷你批次



根据http://scikit-learn.org/stable/modules/generated/sklearn.svm.svc.html我阅读:

"适合时间的复杂性与样品数量相比,这使得很难用超过几个10000个样本扩展到数据集。"

我目前有350,000个样本和4,500堂课,这个数字将进一步增长到1-200万个样本和10k 类。

我的问题是我的内存不足。当我只使用少于1000堂课的200,000个样本时,所有这些都可以正常工作。

有没有一种方法可以用SVM使用MiniBatches?我看到存在Minibatchkmeans,但我认为它不适合SVM?

欢迎任何输入!

我在回答这个问题时提到了这个问题。

您可以将大型数据集分成可以由SVM算法安全消耗的批量,然后分别找到每个批次的支持向量,然后在所有支持向量的数据集中构建一个由此产生的SVM模型,该模型由所有支持向量组成,这些支持向量在所有的支持向量中都发现了所有支持的向量。批次。

同样,如果在您的情况下不需要使用内核,则可以使用Sklearn的SGDClassifier,该SGDClassifier实现了随机梯度下降。默认情况下,它适合线性SVM。

最新更新