如何利用插入包改善SVM的训练时间?

时间:2017-06-10 19:58:58

标签: r svm r-caret training-data

我正在244058个客户的大数据集上训练一个带有径向内核的SVM,用于流失预测。我做k = 5交叉验证,并希望在自定义网格的基础上进行训练。我使用5核并行处理,但运行模型需要花费很多时间,我只是因为需要花费很多时间而我的计算机升温而退出。我有4核CPU和12 GB RAM,所以我不认为内存或处理是问题。我还对数据进行了缩放和集中,尝试了PCA甚至删除了接近零的方差预测因子并删除了相关变量。代码如下所示。有小费吗?我也尝试过RapidMiner而不是R,但教育许可只允许使用1个CPU核心。

 doParallel::registerDoParallel(cores = 5)

 svmradialfit <- train(CHURN ~ ., data = train2scale[,-c(1,11, 13:14,16:17)],  
 method = 'svmRadial' , metric = 'AUC', maximize = TRUE, tuningGrid = expand.grid(C=100, sigma = 0.01) ,trControl = trainControl(method = 'cv', number = 5, verboseIter = TRUE, classProbs = TRUE, savePredictions = TRUE, preProcOptions = 'nzv'  ,summaryFunction = prSummary, allowParallel = TRUE) )

0 个答案:

没有答案