尝试更好地理解
一个整数,表示调整参数网格的粒度。默认情况下,此参数是应由train生成的每个调整参数级别的数量。如果trainControl具有search =“random”选项,则这是将通过随机搜索生成的调整参数组合的最大数量。(注意:如果给定,必须命名此参数。)
在this example中,
对于玩具示例,我创建了以下表格:
{caret}
中的train(tuneLength=)
如何工作。当我尝试理解来自{kernlab}
的SVM方法之间的一些差异时,我感到困惑。我已经查阅了文档(此处)和{caret}
培训页面(此处)。
我的玩具示例是使用iris
数据集创建五个模型。结果在此处,可再现的代码在此处(它们相当冗长,所以我没有将它们复制并粘贴到帖子中)。
来自{caret}
文档:
一个整数,表示调整参数网格的粒度。默认情况下,此参数是应由train生成的每个调整参数级别的数量。如果trainControl具有search =“random”选项,则这是将通过随机搜索生成的调整参数组合的最大数量。(注意:如果给定,必须命名此参数。)
在this example中,
trainControl(search = "random")
和train(tuneLength = 30)
,但似乎有67个结果,而不是30个(即调整参数组合的最大数量)?我尝试了一些操作,看看是否有30个唯一的ROC
值,或者甚至ydim
值,但按我的计算它们并不是。对于玩具示例,我创建了以下表格:
有没有一种方法可以看到“引擎盖下”的情况?例如,M1
(svmRadial
)和M3
(svmRadialSigma
)都采用相同的调整参数,并给出,但根据调用$results
的结果,它们似乎使用这些参数的方式不同?
我对train(tuneLength = 9)
的理解是,两个模型将分别产生具有9个值,9次
的sigma
和C
的结果,因为每个调整参数的级别数为9
(例外情况是随机搜索)?类似地,M4
将是9^3
,因为train(tuneLength = 9)
并且有3
个调整参数?
迈克尔
svmRadialWeight
函数是否通过train
函数接受weights
参数? - cdeterman