我是数据科学领域的新手。我想在具有500k行和81列的数据集上使用SVM训练模型。
到目前为止,在SciPy中运行此模型需要数小时。我可以访问100多个计算节点,每个计算节点有16个核心,但由于我对如何运行此SVM代码缺乏了解,因此不知道如何利用这一点。
有人能指出我应该如何解决这个资源问题吗?
答案 0 :(得分:0)
您使用的是什么内核功能?
SVM并不能很好地扩展。运行时间为O(n ^ 3),其中n是训练样本的数量。
如果您不使用内核函数,则可以创建一个spark集群,并且可以使用作为线性分类器的spark mllib SVM:
https://spark.apache.org/docs/latest/mllib-linear-methods.html
如果您使用非线性内核函数,那么您可以使用LIBIRWLS,即多核,因此您可以在使用16个核心的计算机上使用并行化: