如何使用Java库使用LibSVM进行模型选择?

如何使用Java库使用LibSVM进行模型选择?,java,machine-learning,libsvm,Java,Machine Learning,Libsvm,在搜索tweets分类问题的算法时,我使用了SVM。从LibSVM开始,我使用它的java库(而不是命令行)实现了一个系统,结果是大约50%-60%使用线性函数。现在我希望进行模型选择、缩放、交叉验证和特征选择,以提高我的准确性。问题是,我无法通过LibSVM在Java库中找到这些特性。那么我有什么选择呢。考虑到我是java程序员?如果选择是自己写,怎么写,用什么算法?我是否应该使用其他机器学习库或algo来完成这项任务?我不确定你所说的模型选择或缩放是什么意思。我知道LibSVM会进行交叉验证

在搜索tweets分类问题的算法时,我使用了SVM。从
LibSVM
开始,我使用它的java库(而不是命令行)实现了一个系统,结果是大约50%-60%使用线性函数。现在我希望进行模型选择、缩放、交叉验证和特征选择,以提高我的准确性。问题是,我无法通过
LibSVM
在Java库中找到这些特性。那么我有什么选择呢。考虑到我是java程序员?如果选择是自己写,怎么写,用什么算法?我是否应该使用其他机器学习库或algo来完成这项任务?

我不确定你所说的模型选择或缩放是什么意思。我知道LibSVM会进行交叉验证,但我不知道特征选择。我建议使用R而不是java。有许多用于不同特征选择方法的软件包,还包括:

e1071

具有支持向量机实现(与LibSVM使用的算法不完全相同,但解决了相同的问题)以及许多其他算法、网格搜索和特征选择方法


偏见注:我是图书馆的作者

支持向量机中的模型选择过程,帮助您根据不同的函数参数选择最佳模型。在LibSVM库中,采用交叉验证方法进行模型选择。它所做的是将您的训练数据划分为几个子集,每次使用每个数据使用不同的参数训练模型,以提高准确性。这也消除了错误

谢谢VTT,交叉验证实际上是模型选择。我会考虑R,但是我怀疑我们是否可以在实际生产项目中使用连续流动的数据。谢谢先生,我会通过JSAT,如果我觉得合适的话,我会告诉你的。也许你可以给我一些关于写我自己的ABC或基于遗传算法的模型选择项目的建议。遗传算法只在我们没有好的方法搜索空间时才有用。对于参数,运行网格搜索很好,如果参数太多,则随机搜索效果很好。