SVM预测大量数据

时间:2016-03-27 17:50:45

标签: r machine-learning classification svm libsvm

我想为相对大量的数据(150M)运行SVM分类(带二进制响应)。因此,我对训练数据集(Say about 50,000)进行了采样,并使用svm{e1071}中的R构建了模型。现在我想将结果应用于整个数据集。我不知道如何在R中加载和运行如此大的数据集。所以,我需要的是从R中提取模型参数并在另一个平台上运行它。换句话说,我想为整个数据获得相同的weight.svm(概率):

model.svm = svm(as.factor(response) ~.,data=predictors, probability=TRUE) 
predict.svm= predict(model.svm,predictors,probability=TRUE)
weight.svm = data.frame(attr(predict.svm,"probabilities"))

有什么建议吗?任何简单的文本/参考,以显示此预测函数如何在SVM中工作?我应该从model.svm对象中提取哪些值,例如model.svm$SV等等?

1 个答案:

答案 0 :(得分:0)

如果您的内核是线性的,您可以使用Pegasos algorithm。您可以在本文的第7页找到该算法,它不到10行代码,是解决SVM优化问题的最快算法之一。