R中的支持向量回归

机器算法验证 r 支持向量机
2022-04-06 10:41:39

我正在 R 中搜索支持向量回归的教程。我找到了这个e1071 包的手册但是很少解释如何设置参数,比如选择内核,选择回归,而不是分类。任何材料都值得赞赏。

2个回答

对于选择参数(例如 C 参数),我没有什么好的建议。我发现我只需要尝试不同的值并使用引导程序或交叉验证来选择最好的值。

不过,我在此过程中发现的一个有用的块是校准来自 SVM 输出的预测以进行回归的概念。例如,如果您尝试使用 SVM 查找二元结果发生的概率(伯努利试验),那么从算法返回的数量将不是概率,而是与概率单调相关。为了校准响应,您可以使用例如逻辑回归

p=11+e(g(f))

在哪里g(f)是 SVM 预测的一些函数f. 我发现一个简单的线性函数g(f)=a+bf通常做这项工作。

尝试使用 kernlab 包,您可以使用它ksvm(...,type='eps-svr')来获得回归。如果给定一个连续变量,它会很聪明地自动选择回归。

参数的网格搜索通常工作得相当好。内核的选择会对性能产生很大影响。我发现的一条经验法则是,线性核或低阶多项式可以很好地解决高维问题,但 RBF 可以更好地解决低维问题。但你仍然最好尝试一切。