loc*_*jay 4 python openmp libsvm scikit-learn
我正在使用scikit-learn SVC来分类一些数据.我想提高培训效果.
clf = svm.SVC(cache_size = 4000,probability = True,verbose = True)
由于与libsvm和libsvm的sckikit-learn接口使用OpenMp,我希望:
export OMP_NUM_THREADS = 16
将在多个核心上运行.不幸的是,这没有帮助.
有任何想法吗?
谢谢
scikit-learn中libsvm的当前绑定中没有OpenMP支持.但是,如果您遇到性能问题,很可能会sklearn.svm.SVC使用更具可扩展性的模型.
如果您的数据是高维的,它可能是线性可分的.在这种情况下,建议首先尝试更简单的模型,如朴素贝叶斯模型或sklearn.linear_model.Perceptron已知非常快速的训练.您也可以尝试sklearn.linear_model.LogisticRegression和sklearn.svm.LinearSVC使用都实行liblinear比更具可扩展性libsvm尽管不那么内存efficients比scikit学习其他线性模型.
如果您的数据不是线性可分的,您可以尝试sklearn.ensemble.ExtraTreesClassifier(调整n_estimators参数以权衡训练速度与预测准确性).
或者,您可以尝试使用RBFSamplerscikit-learning +在输出上拟合线性模型的变换器来近似RBF内核:
http://scikit-learn.org/dev/modules/kernel_approximation.html
| 归档时间: |
|
| 查看次数: |
1640 次 |
| 最近记录: |