R 在随机森林中使用验证和训练数据集

R 在随机森林中使用验证和训练数据集,r,validation,classification,random-forest,training-data,R,Validation,Classification,Random Forest,Training Data,我在这里问一个关于在RandomForest包中使用RandomForest函数的基本问题。 我正在使用RF算法进行土地覆盖分类 我得到了一些地理空间数据,我将其分为训练数据集pks_trainingdf和验证数据集pks_validationdf 每个df包含34列;前33列是我想要用于分类的条带;最后一列类包含这些类,它们应该是RF分类的输出 我的问题是:哪个数据集是x的参数,哪个是xtest的参数? 下面的代码行正确吗 modelRF_5 <- randomForest(x=pks_

我在这里问一个关于在RandomForest包中使用RandomForest函数的基本问题。 我正在使用RF算法进行土地覆盖分类

我得到了一些地理空间数据,我将其分为训练数据集pks_trainingdf和验证数据集pks_validationdf

每个df包含34列;前33列是我想要用于分类的条带;最后一列类包含这些类,它们应该是RF分类的输出

我的问题是:哪个数据集是x的参数,哪个是xtest的参数? 下面的代码行正确吗

modelRF_5 <- randomForest(x=pks_validationdf[, c(1:33)],
                       y=pks_validationdf$class, xtest=pks_trainingdf[, c(1:33)],
                       ytest=pks_trainingdf$class, importance=TRUE)

x表示训练子集,而xtest表示测试或验证子集。在你的情况下,它看起来与你相反。只有当两者的尺寸相同时才不重要,而通常情况并非如此。在划分为训练和验证子集之前,将数据集随机化非常重要。如果不是,你应该改变它。此外,分成三个子集比分成两个子集更安全。一个用于培训,另一个用于验证模型,最后一个用于报告错误

谢谢你的回答,这正是我想要的!所以,我通过随机抽样获得了我的训练和验证数据集,所以应该可以,对吧?如果我想将数据集分成三部分,它将如何工作?x将是训练数据集,x测试测试数据集以报告错误,那么验证数据集将去哪里…?如果我有训练像素+验证像素+未知像素,最后要分类的像素会怎样?如果有3个子集,首先使用验证数据集来调整模型并决定训练大小。您可以使用弯头方法绘制学习曲线并执行此操作。另一个分区测试用于检查和报告模型的最终准确性和错误度量。首先使用验证集,调整和诊断模型,然后使用测试集进行最终错误报告。很乐意帮忙。