python – scikit-learn OpenMP libsvm
我正在使用scikit-learn SVC来分类一些数据.我想提高培训效果.
由于与libsvm和libsvm的sckikit-learn接口使用OpenMp,我希望:
将在多个核心上运行. 有任何想法吗? 谢谢 解决方法
scikit-learn中libsvm的当前绑定中没有OpenMP支持.但是,如果您遇到sklearn.svm.SVC的性能问题,则很可能会使用更具可伸缩性的模型.
如果您的数据是高维的,它可能是线性可分的.在这种情况下,建议首先尝试更简单的模型,如朴素贝叶斯模型或sklearn.linear_model.Perceptron,这些模型已知非常快速的训练.您还可以尝试sklearn.linear_model.LogisticRegression和sklearn.svm.LinearSVC两者都使用比libsvm更具可扩展性的liblinear实现,尽管内存效率低于scikit-learn中的其他线性模型. 如果您的数据不是线性可分的,您可以尝试sklearn.ensemble.ExtraTreesClassifier(调整n_estimators参数以权衡训练速度与预测准确性). 或者,您可以尝试使用scikit的RBFSampler变换器来近似RBF内核 – 学习在输出上拟合线性模型: http://scikit-learn.org/dev/modules/kernel_approximation.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |