如何减少 SVM 的执行时间
Posted
技术标签:
【中文标题】如何减少 SVM 的执行时间【英文标题】:How to decrease execution time for SVM 【发布时间】:2017-03-03 05:39:51 【问题描述】:我目前正在处理一个包含 20 个特征和 400K 行的数据集。我正在使用 e1071 库使用 SVM 进行多类分类。我有这个代码,大约需要 2 天才能得到结果。有没有办法可以使用同一个库来降低时间复杂度?如果不是,我应该在 R 中优先考虑哪些其他库或选项?
svm.model <- svm(y ~., data = traindata, gamma = 0.01, cost = 10, kernel= "radial")
【问题讨论】:
我会尝试对 1000-10000 行进行二次抽样,然后看看使用较少数量的样本可以获得什么性能 - 这可能足以获得一个体面的模型。也可以尝试不同的内核。 是的,我确实尝试过。但是在取 40K 大小的样本与整个数据比较时,误差差异是显着的。 你在做训练/测试、交叉折叠验证等吗? 是的,50% 的数据用于训练,25% 用于测试和验证。 【参考方案1】:我建议尝试降维(例如使用 PCA)来减少特征数量,这会提高性能。
【讨论】:
以上是关于如何减少 SVM 的执行时间的主要内容,如果未能解决你的问题,请参考以下文章