scikit-learn SVM有很多样品/小批量可能吗?

时间:2016-11-22 09:10:50

标签: scikit-learn svm

根据http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html,我读到了:

"拟合时间复杂度超过二次方与样本数量,这使得难以扩展到具有超过10000个样本的数据集。"

我目前有350,000个样本和4,500个课程,这个数字将进一步增加到1-2百万个样本和10k +课程。

我的问题是我的内存不足。当我只使用少于1000个类的200,000个样本时,一切正常。

有没有办法内置或使用带有SVM的微型计算机?我看到存在MiniBatchKMeans,但我不认为它适用于SVM?

欢迎任何欢迎!

1 个答案:

答案 0 :(得分:1)

我在answerthis问题中提到了这个问题。

您可以将大型数据集拆分为可由SVM算法安全使用的批次,然后分别查找每个批次的支持向量,然后在数据集上构建生成的SVM模型,该数据集包含所有支持向量中的所有支持向量批次。

此外,如果在您的情况下不需要使用内核,那么您可以使用sklearn的SGDClassifier,它实现随机梯度下降。它默认适合线性SVM。