试图更好地了解如何train(tuneLength = )运作{caret}.我试图理解SVM方法之间的一些差异时发生了混乱,{kernlab}我已经阅读了文档(这里)和插入符号培训页面(这里).
我的玩具示例是使用iris数据集创建五个模型.结果在这里,可重现的代码在这里(它们相当长,所以我没有复制并粘贴到帖子中).
从{caret}文档:
tuneLength
一个整数,表示调整参数网格中的粒度量.默认情况下,此参数是列车应生成的每个调整参数的级别数.如果trainControl具有选项search ="random",则这是随机搜索将生成的调整参数组合的最大数量.(注意:如果给定,则必须命名此参数.)
在这个例子中,trainControl(search = "random")和train(tuneLength = 30),但似乎有67个结果,而不是30个(调整参数组合的最大数量)?我试着四处看看是否有30个独特的ROC价值观,甚至是ydim价值观,但按照我的统计,他们不是.
对于玩具示例,我创建了下表:
有没有办法看到"引擎盖下"发生了什么?例如,M1(svmRadial)和M3(svmRadialSigma)都采用和给出相同的调谐参数,但基于调用$results似乎使用不同的方式?
我的理解train(tuneLength = 9)是,这两种模式会产生的结果sigma和C每个9 values, 9 times由于9是每个调谐参数(唯一的例外是随机搜索)水平是多少?同样,M4将9^3因为train(tuneLength = 9)和有3调整参数?
迈克尔
top*_*epo 12
我需要更新更新软件包文档,但是在包网页上拼写详细信息以进行随机搜索:
"唯一组合的总数由
tuneLength选项指定train."
但是,这是使用RBF内核的特别混乱的SVM.这是一个故障:
svmRadial在成本曲调和使用的单个值sigma基础上kern lab的sigest功能.对于网格搜索,tuneLength是要测试的成本值的数量,对于随机搜索,它是sigma要评估的(成本)对的总数.svmRadialCost与每个重采样循环内部相同svmRadial但sigest在其中运行.对于随机搜索,它不会调整sigma.svmRadialSigma用网格搜索调整成本和sigma.在次优认知表现的时刻,我将其设置为sigma在网格搜索期间尝试最多6个值,因为我觉得成本空间需要更宽的范围.对于随机搜索,它的作用相同svmRadial. svmRadialWeight是同样的,svmRadial但也考虑了类权重,仅适用于2类问题.至于网页上的SOM示例,这是一个错误.我过度采样SOM参数空间,因为需要有一个过滤器xdim <= ydim & xdim*ydim < nrow(x).这个错误来自于我没有保留适量的参数.
| 归档时间: |
|
| 查看次数: |
10150 次 |
| 最近记录: |