如何进行训练、测试和验证集以进行预测

3

我有一个非常庞大的数据集,并且正在尝试使用R构建分类模型。但是,我需要使用训练、测试和验证集。但是,我对如何执行此操作有些困惑。例如,我使用训练集构建了一棵树,然后使用测试集计算了预测值。但我认为我应该使用训练集和测试集来最佳调整决策树,之后再使用验证集进行验证。我应该如何做到这一点?

library(rpart)
part.installed <- rpart(TARGET ~  RS_DESC+SAP_STATUS +                         
ACTIVATION_STATUS+ROTUL_STATUS+SIM_STATUS+RATE_PLAN_SEGMENT_NORM,
trainSet, method="class")

part.predictions <- predict(part.installed, testSet, type="class")

(P.S. 这棵树只是一个例子,它可以是另一个分类算法)

我对机器学习术语不是特别熟悉,但我认为测试集和验证集指的是同一件事。您将在训练集上进行训练,并调整参数以最小化测试/验证集中的误差。 - shians
3
我对这门语言的看法是:在进行任何其他操作(如预处理)之前,您需要先将测试集分离出来;您只会在整个过程的最后一步使用测试集,用来测试您的模型。 剩下的数据(训练集)可以创建一个验证集,如果您正在进行交叉验证,则可以创建多个验证集,您将使用它来调整模型的超参数。 在修正了超参数之后,您可以使用整个训练集来训练您的最终模型。最后,您可以使用测试集对您的最终模型进行测试。 - Henry
1
如果你的测试集表现不佳,你不应该再次使用相同的数据重新开始,因为你的测试集会变成验证集,并可能导致过拟合。 - Henry
据我所知,您对训练/测试/验证的理解是正确的。我有一些问题:您要执行什么类型的分类?二元还是>2类?您有多少个案例和多少个特征?数据类型是什么?分类、连续还是混合? - Reilstein
我有一个包含1,334,377个观测值的子集。我的目标是预测5个类别(E,I,A,S,P)。关于我的自变量,其中一个是连续的,其余的都是分类的。 - Carolina Leana Santos
1个回答

1
通常术语如下:
1. 训练集用于构建分类器 2. 验证集用于反复调整算法超参数。因此,这里会出现一些过拟合,但这就是另一个阶段的原因: 3. 测试集在分类器最终确定之前不能被触及,以防止过拟合。它用于估计真实准确性,如果您将模型投入生产。

好的,您能否给我一个在R中使用验证集来调整算法的代码示例? - Carolina Leana Santos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接