【发布时间】:2015-06-07 07:26:47
【问题描述】:
我正在尝试使用 tune.svm 函数,因为我真的不知道哪些参数会产生一个好的模型(因为训练数据将由用户选择)我需要涵盖广泛的值.目前我有这种行为
tune(svm, value ~ . , data= data_l, ranges=list(cost = 10^(0:5), epsilon = 10^(-1:0)))
Parameter tuning of ‘svm’:
- sampling method: 10-fold cross validation
- best parameters:
cost epsilon
100 0.1
- best performance: 277.5491
和
tune(svm, value ~ . , data= data_l, ranges=list(cost = 10^(0:5), epsilon = 10^(-1:1)))
Error in predict.svm(ret, xhold, decision.values = TRUE) : Model is empty!
(epsilon最大值的差异)
我知道 svm 不适用于 epsilon =10,但我对这个调整函数的直觉是,它可以处理不会生成模型的参数。 为什么不选择可以生成的模型? 有没有一种“简单”的方法可以忽略这种错误行为? (我尝试了 tryCatch(tune()) 和我发现的许多其他东西,但我想我必须深入挖掘听起来不再“容易”的 tune/svm/predict-codes)
【问题讨论】:
标签: svm