Java 如何计算libsvm中的最优C/Gamma参数?
我使用的是具有大量特征/属性的数据集的多类分类(每个项目大约5800个)。我想为C和Gamma选择比我目前使用的默认值更好的参数 我已经试过运行easy.py,但是对于我正在使用的数据集,估计的时间几乎是永远的(在20、50、100和200个数据样本中运行easy.py,得到了一个超线性回归,它预测了我需要几年的运行时间)Java 如何计算libsvm中的最优C/Gamma参数?,java,machine-learning,svm,libsvm,Java,Machine Learning,Svm,Libsvm,我使用的是具有大量特征/属性的数据集的多类分类(每个项目大约5800个)。我想为C和Gamma选择比我目前使用的默认值更好的参数 我已经试过运行easy.py,但是对于我正在使用的数据集,估计的时间几乎是永远的(在20、50、100和200个数据样本中运行easy.py,得到了一个超线性回归,它预测了我需要几年的运行时间) 有没有办法比默认值更快地获得更好的C和Gamma值?如果有什么不同的话,我正在使用Java库。不需要网格搜索就可以实现这一点,我相信,easy.py就是这样做的 请看Trev
有没有办法比默认值更快地获得更好的C和Gamma值?如果有什么不同的话,我正在使用Java库。不需要网格搜索就可以实现这一点,我相信,
easy.py
就是这样做的
请看Trevor Hastine等人的这篇论文:(PDF)。一次“SVM运行”将计算所有“C”值的损失,这样您就可以看到它如何影响SVM性能
他们有这个算法的一个实现,你可以在包中使用它
我相信该算法的核心是用fortran编写的,但它是用R编写的