这可能是一个愚蠢的问题,但是当使用插入符号生成模型并使用诸如LOOCV
或(甚至更重要)时LGOCV
,如果这实际上是交叉验证步骤的话,将数据分为训练集和测试集有什么好处?反正吗?
我阅读了一些相关的问题,他们建议一些交叉验证方法(例如,在插入符号处描述的方法)是出于特征选择的目的。但就我而言,我使用的是randomForest
(method = "rf"
)和kernlab
(method = svmRadial
),它们在试图清除预测变量的组中未列出。
所以,我的问题是,如果我使用类似的方法cross_val <- trainControl(method = "LGOCV", p = 0.8)
,那与对80%的数据进行训练,对其余20%的数据进行测试所得模型并反复进行以了解模型是否有效?
如果是这样,是否有必要将我的数据分为训练/测试集?
PS:我在根据经验生成的DOE原型进行模型处理时会提出一些要求(想想一些硬货,我们会调整输入,然后使用测试方法来测量该原型的各种属性)。
因此,我没有庞大的数据集,可以使用许多重叠的预测变量级别进行建模-我们经常在每个DOE兴趣点进行一次试验,因为在这种情况下,数据生成非常昂贵。因此,我想使用所有可能的数据建立一个准确的模型,但我想在这里检查一下,我没有遗漏明显的东西,也没有通过拆分来制作一个不好的模型。
编辑:针对@topepo的问题,我正在根据调整配方的化学输入来对化合物的物理测量属性进行建模。我无法讨论我的实际应用,但是我将基于配制内部乳胶漆组成一个示例。我正在运行设计的实验,我们将4-5种化学物质混合在一起,也许与%的固体混合,并花费一定的时间加热聚合物溶液以调节聚合度。
然后,我们可以测量流变性,分子量,油漆涂层的硬度,耐水性等。
我们有几个变量的不错的复制品,但是从每个DOE级别完全相同的意义上讲,真正复制品很少。总数据集为〜80个观察值,也许4-5是精确重复。我们已经进行了15种不同的测试,也许对每个观察都进行了5-6次测试。对于25-50%的数据,存在一些响应。
从这里开始,我们想对输出的属性上的7个预测变量的效果进行建模,然后进行优化以定位最有可能提供所需属性的新设计空间。
(因此,请在这里提出我的问题。一旦我拥有训练有素的模型,最好进行“反向”操作并输入所需的响应,以在可能的输入水平上获得最佳的猜测,然后再尝试)。
data_set1
,我如何看待LGOCV
交叉验证执行的步骤?从我的阅读中,我假设1)caret
遍历调整参数data_set1
,然后2)固定这些参数,然后3)使用#1的参数为每个p = 0.8
样本创建一个“子模型” ,data_set1
并测试其余0.2的预测以衡量准确性。这是一个合理的总结吗?