R Caret的TuneLength

时间:2018-05-31 23:46:51

标签: r machine-learning classification r-caret

我正在使用caret内置数据集跟踪R中的Sonar包教程。该数据集由208行和61个特征/变量组成(如果丢弃该类,则为60行)。

在一个步骤中,它解释了trainControltrain函数,如下所示:

# Model training controller (cross-validation with 3 reps)
control <- trainControl(method="repeatedcv", repeats=3)

myModel <- train (Class ~ ., 
           data=train_partition,
           method="pls",
           preProc=c("scale"),
           trControl=control,
           tuneLength=3)

当我显示train文档时,tuneLength参数指定为:

An integer denoting the amount of granularity in the tuning parameter grid. 
By default, this argument is the number of levels for each tuning parameters that 
should be generated by train. If trainControl has the option search = "random", 
this is the maximum number of tuning parameter combinations that will be generated 
by the random search. (NOTE: If given, this argument must be named.)

这些&#34;调整参数是什么&#34;方法&#34; pls&#34;在文档的第一行中指定了什么?

为什么我可以将此参数设置为1-50范围内的值?这个参数是什么意思?

1 个答案:

答案 0 :(得分:0)

&#34;调整参数&#34; in caret 指的是超参数,它在开始学习之前需要提供给算法的值。

偏最小二乘'pls'),有一个超参数:'ncomp',即组件数/潜在因子。理论上,您可以拥有与数据集中的要素/变量数量一样多的组件。对于 Sonar 数据,您有60个功能。

实际上,由于冗余功能,您需要较少数量的组件来解释模型中的显着差异。因此,您需要在1到50之间进行调整,以评估最佳性能。