2016-08-02 43 views
1

因此,我运行了一个SVM分类器(线性内核和概率为false),从具有大约120个特征和10,000个观测值的数据帧上sklearn。由于超出计算限制,该程序需要花费数小时才能运行,并且会一直崩溃。想知道这个数据帧是否可能太大?SVM的数据太多?

+0

对于线性内核(至少对于LinearSVC;对于内核=线性的SVC不确定),应该是可以的。向我们展示代码! – sascha

回答

0

您可以尝试更改算法的参数。

Tips on practical use from the documentation.

你可以尝试不同的算法,这里是你可能会发现有用的备忘单:

enter image description here

+0

他正在使用线性内核,所以没有内核缓存(正在使用)! – sascha

+0

谢谢 - 更新了我的文章 – bobo

+0

而作弊表完全推荐他在做什么(分类<100k样本 - >线性SVC)。所以这些信息没有任何好处。 – sascha

2

总之没有,这不是太大的。线性svm可以进一步扩展。另一方面,libSVC库不能。好东西,即使在scikit-learn中你也有大规模的svm实现 - 基于liblinear的LinearSVC。您也可以使用SGD(也可以在scikitlearn中获得)来解决这个问题,它也将汇集更大的数据集。

0

该实现基于libsvm。拟合时间复杂度为 比样本数量多二次方,这使得难以将 缩放到具有多于10000个样本的数据集。

的官方数据大约sklearn svm告诉theshold是10,000个样本 所以SGD可能是一个更好的尝试。