提升 sklearn 上 SVM classifier 的运行速度有什么好途径?

2016-03-09 03:40:06 +08:00
 xiamx
15387 次点击
所在节点    Python
10 条回复
kidexp
2016-03-09 07:50:41 +08:00
用 mkl 或者 openblas ?
chlx
2016-03-09 08:49:44 +08:00
选简单的 kernel 函数;用 libsvm 的实现
facat
2016-03-09 09:10:50 +08:00
没什么好办法,已经是 c 语音实现了
xiamx
2016-03-09 09:44:38 +08:00
有没有办法利用并行计算呢?
nevin47
2016-03-09 10:07:42 +08:00
sklearn 我记得是没法并行的,除非去改 SVM 分类器那部分的代码
但是有改代码的功夫,换 libsvm 早好了
popil1987
2016-03-09 10:36:12 +08:00
机器学习最难的就在并行上
单机凡是用到 numpy 的安装 openblas 可以做到利用上所有的核心。如果一台机器性能被透支了,就别惦记了,还是使用 spark 等内置的机器学习库吧。
caomaocao
2016-03-09 13:29:15 +08:00
用 linlinear
glennq
2016-03-09 13:56:04 +08:00
不要多想, sklearn 上的 svm 就是 wrap 了 libsvm 和 liblinear ,很难更快了。说到底 SVM 本来就慢

SVC -> libsvm
LinearSVC -> liblinear
deanguqiang
2016-03-09 13:59:00 +08:00
用随机梯度下降实现的 SVM ,对有些问题快很多。
deanguqiang
2016-03-09 14:02:35 +08:00
sklearn.linear_model.SGDClassifier(loss='hinge')

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/262060

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX