从 scikit-learn 训练 SVC 表明使用 -h 0 可能更快?
Posted
技术标签:
【中文标题】从 scikit-learn 训练 SVC 表明使用 -h 0 可能更快?【英文标题】:Training SVC from scikit-learn shows that using -h 0 may be faster? 【发布时间】:2020-01-24 04:58:35 【问题描述】:我正在一个大型数据集上训练一个 SVC 模型,并且由于我设置了verbose=True
,它显示了一个Warning: using -h 0 may be faster
。
我有两个问题:
这个警告是什么?我们如何设置警告中提到的 libsvm 的任何选项?sklearn.svm.SVC
参数设置中缓存的大小会影响训练速度吗?我已将其设置为 cache_size=2000
。
感谢您的专家观点
【问题讨论】:
【参考方案1】:-h
参数控制收缩:是否使用收缩启发式,0或1(默认1)
您可以使用 shrinking
参数在 SVC 构造函数中设置它。收缩是加速优化问题的启发式方法。
检查Original Paper 和 Similar Quesiton on shrinking
缓存是一种减少分解方法计算时间的技术,分解方法是训练的一部分。此大小通过cache_size
参数控制。
我强烈建议阅读原始 libsm 论文,尤其是第 5 节。
【讨论】:
以上是关于从 scikit-learn 训练 SVC 表明使用 -h 0 可能更快?的主要内容,如果未能解决你的问题,请参考以下文章
如何获取 Scikit-learn 的 svm 中的训练误差?
从 scikit-learn SVC decision_function 预测概率,decision_function_shape='ovo'
用我自己的语料库用 scikit-learn 理解 accuracy_score?
将 scikit-learn SVM 模型转换为 LibSVM